#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdio.h>
float x,y,z;
void init(void) 
{
   glClearColor (0.0, 0.0, 0.0, 0.0);
   glShadeModel (GL_FLAT);
   x=0;y=0;z=5.0;
}

void display(void)
{
   glClear (GL_COLOR_BUFFER_BIT);
   glColor3f (1.0, 1.0, 1.0);
   glLoadIdentity ();             /* clear the matrix */
           /* viewing transformation  */
   gluLookAt (x, y, z, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
   glScalef (1.0, 2.0, 1.0);      /* modeling transformation */ 
   glutWireCube (1.0);
   glFlush ();
}

void reshape (int w, int h)
{
   glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
//  gluPerspective(60.0, 1.0, near, far);
//glViewport (x, y, 400, 200);
   glMatrixMode (GL_PROJECTION);
   glLoadIdentity ();
   //gluPerspective(60.0, 1.0, 1.5, 20.0);
   glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
   glMatrixMode (GL_MODELVIEW);
}
void keyboard(unsigned char key, int x, int y)
{
   
switch (key) {

case 'w':
z+=0.1;      glutPostRedisplay();
break;
case 's':
z-=1.1; glutPostRedisplay();
break;
case 27:

break;
default:
break;
}
}
int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize (500, 500); 
   glutInitWindowPosition (100, 100);
   glutCreateWindow (argv[0]);
    
   init ();
   glutDisplayFunc(display); 
   glutReshapeFunc(reshape);
    glutKeyboardFunc(keyboard);
   glutMainLoop();
   return 0;
}

