here is the code.
#include <windows.h> /* must include this before GL/gl.h /
#include <GL/gl.h>
#include <GL/glut.h> / OpenGL utilities header file */
#include <gl/glaux.h>
#include <stdio.h>
#include <string.h>
float ambientlightsource[] = {0.3, 0.3, 0.45, 1.0};
float source_light[] = {0.9, 0.8, 0.8, 1.0};
float light_pos[] = {7.0, 0.0, 0.0, 1.0};
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0f,0.0f, -4.0f);
glBegin(GL_QUADS); // Start drawing the cube
glColor3f(251.0/255.0f,255.0/255.0f,65.0/255.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glColor3f(255.0/255.0f,106.0/255.0f,8.0/255.0f);
glVertex3f( 1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f( 1.0f,-1.0f,-1.0f);
glColor3f(255.0/255.0f,34.0/255.0f,156.0/255.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f( 1.0f,-1.0f, 1.0f);
glColor3f(255.0/255.0f,249.0/255.0f,255.0/255.0f);
glVertex3f( 1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glColor3f(251.0/255.0f,232.0/255.0f,191.0/255.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glColor3f(115.0/255.0f,255.0/255.0f,254.0/255.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f,-1.0f, 1.0f);
glVertex3f( 1.0f,-1.0f,-1.0f);
glEnd();
return TRUE;
}
void myInit(void)
{
glEnable ( GL_DEPTH_TEST );
glEnable ( GL_LIGHTING );
glLightModelfv ( GL_LIGHT_MODEL_AMBIENT, ambientlightsource );
glLightfv ( GL_LIGHT0, GL_DIFFUSE, source_light );
glLightfv ( GL_LIGHT0, GL_POSITION, light_pos );
glEnable ( GL_LIGHT0 );
glEnable ( GL_COLOR_MATERIAL );
glColorMaterial ( GL_FRONT, GL_AMBIENT_AND_DIFFUSE );
glEnable ( GL_CULL_FACE );
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0, 640.0, 0.0, 480.0);
glClearColor ( 0.0, 0.0, 0.0, 0.0 );
}
void RotateXbutton()
{
glColor3f( 1.0, 1.0, 1.0 );
glTranslatef(0.0f, 0.0f, 4.0f);
glBegin(GL_QUADS);
glVertex3i(000, 000, 000);
glVertex3i(640, 000, 000);
glVertex3i(640, 400, 000);
glVertex3i(000, 400, 000);
glFlush();
glEnd();
}
void display(void)
{
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLightfv ( GL_LIGHT0,GL_POSITION,light_pos );
glLoadIdentity();
glPushMatrix ( );
glTranslatef ( 0.0, 0.0, -4.0 );
DrawGLScene();
glPopMatrix ( );
glLoadIdentity();
RotateXbutton();
glutSwapBuffers ( );
}
void reshape ( int w, int h )
{
glViewport ( 0, 0, w, h );
glMatrixMode ( GL_PROJECTION );
glLoadIdentity ( );
if ( h==0 )
gluPerspective ( 80, ( float ) w, 1.0, 5000.0 );
else
gluPerspective ( 80, ( float ) w / ( float ) h, 1.0, 5000.0 );
glMatrixMode ( GL_MODELVIEW );
glLoadIdentity ( );
}
void main (int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
glutInitWindowSize(640, 480);
glutInitWindowPosition(100,150);
glutCreateWindow("");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
myInit();
glutMainLoop();
}
thanx in advance