// ini adalah bagian untuk merubah warna untuk pilar void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); GLfloat pos0[4] ={1.0, 1.0, 1.0, 0.0}; GLfloat ambient[4] = { 0.0,0.0, 0.0, 0.0 }; GLfloat diffuse[4] = { 1.0, 2.0, 1.0, 1.0 }; GLfloat specular[4] = { 3.0, 4.0,6.0, 1.0 }; GLfloat shininess[1] = { 60.0 }; glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); glLightfv(GL_LIGHT0, GL_POSITION, pos0); glEnable(GL_BLEND); glBlendFunc(GL_ONE, GL_ONE); GLfloat kabut[4]={0.93,0.95,0.92,0.88}; glFogfv(GL_FOG_COLOR, kabut); // kabut glFogf(GL_FOG_DENSITY, 0.2f); glFogi(GL_FOG_MODE, GL_EXP); glEnable(GL_FOG); glDisable(GL_BLEND); glLoadIdentity(); glRotatef(sudutputar, 0.0f, 0.1f, 0.0f); // sudut pandang camera draw_rumput(); draw_langit(); draw_rumah(); draw_pilar1(); draw_pilar2(); draw_pilar3(); draw_pilar4(); draw_pagar(); draw_matahari(); glutSwapBuffers(); sudutputar -= 0.1f; if(sudutputar<-360) sudutputar=360; }
// Handler for window paint and re-paint event void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); GLfloat pos0[4] ={5.0, 5.0, 5.0, 0.0}; GLfloat ambient[4] = { 0.0, 0.0, 1.0, 1.0 }; GLfloat diffuse[4] = { 1.0, 2.0, 1.0, 1.0 }; GLfloat specular[4] = { 1.0, 1.0, 0.0, 1.0 }; GLfloat shininess[1] = { 10.0 }; glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); glLightfv(GL_LIGHT0, GL_POSITION, pos0); glEnable(GL_BLEND); glBlendFunc(GL_ONE, GL_ONE); GLfloat kabut[4]={0.93,0.95,0.92,0.88}; glFogfv(GL_FOG_COLOR, kabut); //ketebalan kabut glFogf(GL_FOG_DENSITY, 0.08f); //glFogf(GL_FOG_START, 3.0f); //glFogf(GL_FOG_END, -3.0f); glFogi(GL_FOG_MODE, GL_EXP); glEnable(GL_FOG); glDisable(GL_BLEND); glLoadIdentity(); glRotatef(sudutputar, 0.0f, 1.0f, 0.0f); // Rotate over y-axis draw_laut(); draw_langit(); draw_pulau(); draw_mercusuar(); draw_kapal_laut(); draw_matahari(); //pelampung glPushMatrix(); glColor3f(1.0f, 0.0f, 0.0f); glTranslatef (-4.25, -1.0, -10.0); glScalef (0.1, 0.1, 0.1); glutSolidSphere(1.0, 16, 16); glPopMatrix(); glPushMatrix(); glColor3f(1.0f, 0.0f, 0.0f); glTranslatef (-10.0, -1.0, -10.0); glScalef (0.1, 0.1, 0.1); glutSolidSphere(1.0, 16, 16); glPopMatrix(); glPushMatrix(); glColor3f(1.0f, 0.0f, 0.0f); glTranslatef (5.0, -1.0, -10.0); glScalef (0.1, 0.1, 0.1); glutSolidSphere(1.0, 16, 16); glPopMatrix(); glPushMatrix(); glColor3f(1.0f, 0.0f, 0.0f); glTranslatef (10.0, -1.0, -10.0); glScalef (0.1, 0.1, 0.1); glutSolidSphere(1.0, 16, 16); glPopMatrix(); glutSwapBuffers(); sudutputar -= 0.1f; if(sudutputar<-360) sudutputar=360; }