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. ]


Anmelden zum Antworten