hi guys…
i working on a project in open gl for how to draw a room and 6 objects in it, but i had some problems, the colors of the objects doesn’t show .
can any body help me with this project ??
here is the Code:
#include<glut.h>
int i=0,j=0;
float eyex=0, eyey=1,eyez=0;
float centx=0 ,centy=0,centz=-100;
float upx=0 ,upy=1,upz=0;
void pressKey(int key, int x, int y) {
glutPostRedisplay();
switch (key) {
case GLUT_KEY_LEFT :
eyex-=2;
;break;
case GLUT_KEY_RIGHT :
eyex+=2;
;break;
case GLUT_KEY_UP :
eyey+=2;
break;
case GLUT_KEY_DOWN :
eyey-=2;
break;
case GLUT_KEY_HOME :
eyez-=2;
break;
case GLUT_KEY_END :
eyez+=2;
break;
case GLUT_KEY_F2 :
centx+=5;
break;
case GLUT_KEY_F3 :
centx-=5;
break;
case GLUT_KEY_F4 :
centy+=5;
break;
case GLUT_KEY_F5 :
centy-=5;
break;
case GLUT_KEY_F6 :
centz+=5;
break;
case GLUT_KEY_F7 :
centz-=5;
break;
case GLUT_KEY_INSERT :
eyex=0, eyey=1,eyez=0;
centx=0 ,centy=0,centz=-100;
upx=0 ,upy=1,upz=0;
break;
}
}
void reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (float)w/(float)h, 1.0, 800.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void Init()
{
glClearColor(5, 6, 4, 0.0);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
}
void render(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt( eyex, eyey, eyez, centx, centy, centz, upx, upy, upz );
glPushMatrix();
glColor3f(0.0f, 1.0f, 0.0f);
glTranslatef(1.5,3.0,-22.0);
glutSolidTeapot(2);
glPopMatrix();
/*----------------FLOOR--------------*/
glDisable(GL_DEPTH_TEST);
glPushMatrix();
glTranslatef(0,0,-11.0);
glRotatef(90,1,0,0);
glScalef(4,4,4);
glColor3f( 1 , 0 , 0 );
glEnd();
glPopMatrix();
glPushMatrix();
glColor3i(1,1,0);
glutSolidCube(50);
glPopMatrix();
glEnable(GL_DEPTH_TEST);
/*----------------FLOOR--------------*/
glutSwapBuffers();
}
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow("The Room");
Init();
glutDisplayFunc(render);
/***********************/
glutIdleFunc(render);
// glutIgnoreKeyRepeat(1);
glutSpecialFunc(pressKey);
/***********************/
glutReshapeFunc(reshape);
glutMainLoop();
}