Original Post
Ok I tried a new project with gluLookAt() and it still messes up. Here is my code. If it doesnt make sense copy/paste it and run it. It's hard to explain what happens but when you hit down. You move away from the object. When you hit up, you move closer to the object, then it goes behind me and flips about the y-axis. glEnable(GL_DEPTH_TEST); glClearColor (.4f, 0.0f, .5f, 0.0f); glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f,1,.1f,50.0f); //move was declared as an int = to 3 gluLookAt(0,0,move, 0,0,-1, 0,1,0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glBegin(GL_QUADS); //front glColor3f(1,0,0); glVertex3f(0,0,0); glVertex3f(1,0,0); glVertex3f(1,1,0); glVertex3f(0,1,0); //top glColor3f(0,1,0); glVertex3f(0,1,0); glVertex3f(0,1,-1); glVertex3f(1,1,-1); glVertex3f(1,1,0); //right glColor3f(1,1,1); glVertex3f(1,0,0); glVertex3f(1,1,0); glVertex3f(1,1,-1); glVertex3f(1,0,-1); //left glColor3f(1,1,1); glVertex3f(0,0,0); glVertex3f(0,1,0); glVertex3f(0,1,-1); glVertex3f(0,0,-1); glEnd(); if(GetAsyncKeyState(VK_DOWN)) { move++; } if(GetAsyncKeyState(VK_UP)) { move--; } SwapBuffers (hDC);