Problem: OpenGL + gluLookAt()
-
Hallo!
Ich habe ein Problem mit OpenGL und dem Befehl gluLookAt().
GLvoid GLCam::setViewByMouse() { GLfloat mx,my; // Tastatur if(keyactiv) { Read_Keyboard(); if(KeyDown(DIK_LEFT)) { moveCam(MOVECAM_LEFT); } if(KeyDown(DIK_RIGHT)) { moveCam(MOVECAM_RIGHT); } if(KeyDown(DIK_UP)) { moveCam(MOVECAM_FORWARD); } if(KeyDown(DIK_DOWN)) { moveCam(MOVECAM_BACKWARD); } if(KeyDown(DIK_PGUP)) { moveCam(MOVECAM_UP); } if(KeyDown(DIK_PGDN)) { moveCam(MOVECAM_DOWN); } } glLoadIdentity(); glTranslatef(cam.x,cam.y,cam.z); if(mouseactiv) { Read_Mouse(); Get_Mouse_Coords(mx,my); rotateCam(mx,my,cam.z); } gluLookAt(0.0f,0.0f,0.0f, cam.look_x,cam.look_y,cam.look_z, 0.0f,0.0f,1.0f); }
also ich frage die Tastatur ab.. und rufe dann moveCam() auf.. diese Funktion macht nichts anderes als "cam.x += cam.movespeed_x;" usw.
Das funktioniert auch alles ganz gut.. also ich kann mich durch den Raum bewegen mit
glTranslatef(cam.x,cam.y,cam.z);
nun will ich aber auch dieses "3D Look" hinbekommen, wie er zB auch in 3D Spielen vorhanden ist.
ich rufe gluLookAt() auf und setze die ersten 3 Werte auf 0.0f, da ich kein glLoadIdentity() vorher aufrufe, die nächsten 3 Werte sind die wohin das "Auge" schauen soll? und die nächsten 3???
Bin dankbar für jede Hilfe!
-
die nächsten 3 geben an wo oben ist..
gluLookAt [url] http://www.cevis.uni-bremen.de/~uwe/opengl/gluLookAt.html [/url]
oder im redbook [url] http://www.gamedev.net/download/redbook.pdf [/url]Kapitel 3 seite 21
[ Dieser Beitrag wurde am 29.03.2003 um 09:13 Uhr von Niels editiert. ]