Anda di halaman 1dari 2

#include <gl/glut.

h>
void init(){
glClearColor(0.4,0.2,0.2,0.2);
}
void latar(){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(5,2,6);
glVertex3f(-100.0,0.0,-100.0);
glVertex3f(-100.0,0.0,100.0);
glVertex3f(100.0,0.0,100.0);
glVertex3f(100.0,0.0,-100.0);
glEnd();
void bangun(int ,int ,int);
bangun(75,30,1);
bangun(20,50,2);
bangun(40,-70,1);
bangun(70,80,2);
bangun(-12,30,3);
bangun(13,-89,3);
glutSwapBuffers();
}
void keyboard(unsigned char ok,int a,int b){
switch (ok){
case 'a':
glTranslatef(5.0,0.0,0.0);
break;
case 'd':
glTranslatef(-5.0,0.0,0.0);
break;
case 'w':
glTranslatef(0.0,0.0,5.0);
break;
case's':
glRotatef(0.5,5.0,0.0,0.0);
break;
}
latar();
}
void resize (int ,int){
gluPerspective(45.0,1.0,1.0,1000.0);
glTranslatef(0.0,-18.0,-150.0);
}
void bangun(int x,int z,int warna){
float xkanan =(float)x + 5;
float zdepan =(float)z + 5;
float xkiri =(float)x - 5;
float zbelakang =(float)z - 5;
switch(warna){
case 1:
glColor3f(0,0,1);
break;
case 2:
glColor3f(1,0,0);

break;
case 3:
glColor3f(0,1,0);
break;
}
glBegin(GL_QUADS);
glVertex3f(xkiri,10.0,zdepan); /*depan*/
glVertex3f(xkiri,0.0,zdepan);
glVertex3f(xkanan,0.0,zdepan);
glVertex3f(xkanan,10.0,zdepan);
glVertex3f(xkanan,10.0,zbelakang); /*belakang*/
glVertex3f(xkanan,0.0,zbelakang);
glVertex3f(xkiri,0.0,zbelakang);
glVertex3f(xkiri,10.0,zbelakang);
glVertex3f(xkanan,10.0,zdepan); /*kanan*/
glVertex3f(xkanan,0.0,zdepan);
glVertex3f(xkanan,0.0,zbelakang);
glVertex3f(xkanan,10.0,zbelakang);
glVertex3f(xkiri,10.0,zbelakang); /*kiri*/
glVertex3f(xkiri,0.0,zbelakang);
glVertex3f(xkiri,0.0,zdepan);
glVertex3f(xkiri,10.0,zdepan);
glVertex3f(xkiri,10.0,zdepan); /*atas*/
glVertex3f(xkanan,10.0,zdepan);
glVertex3f(xkanan,10.0,zbelakang);
glVertex3f(xkiri,10.0,zbelakang);
glVertex3f(xkiri,0.0,zbelakang); /*bawah*/
glVertex3f(xkanan,0.0,zbelakang);
glVertex3f(xkanan,0.0,zdepan);
glVertex3f(xkiri,0.0,zdepan);
glEnd();
}
/*
*
*/
int main(int argc, char** argv) {
glutInitWindowSize(600,600);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutCreateWindow("Map CS");
init();
glutDisplayFunc(latar);
glutKeyboardFunc(keyboard);
glutReshapeFunc(resize);
glutMainLoop();
return 0;
}

Anda mungkin juga menyukai