glRotate, glTranslate Denkproblem....



  • erst mal kurz den Programmcode in meiner Renderfunktion:

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    
    glRotatef(winkel,0.0f,1.0f,0.0f);
    glTranslatef(x,y,z);
    zeichneWürfel();
    

    eigentlich ganz einfach, über z kann ich mich vom Würfel entfernen oder näher ran. Mit x nach links und rechts (strafen) usw .
    Nun bin ich noch relativ neu in dieser Denkweise und sobald ich mit rotieren anfange gibts die ersten Probs.
    Über den Winkel kann "ich mich" um die y-Achse drehen (bzw der Rest wird gedreht). Geh ich jetzt aber nach vorne oder zurück, dann aber nicht in Blickrichtung sondern in die Richtung als hätte ich gerade die Matrix zurückgesetzt(also gar nichts gedreht). Wie kann ich jetzt in die Richtung gehen, in die ich auch schaue (wie in nem Egoshooter halt).
    Ich hoffe ihr klärt mich auf, wie das in diesem Fall funktioniert.
    Danke

    [ Dieser Beitrag wurde am 27.01.2003 um 17:51 Uhr von mindwalker editiert. ]



  • Konstruiere einfach einen Vektor, der enlang der Kamera zeigt (z.b. Punkt den man ansieht - Kameraposition und dann normieren.). Dann mit der gewünschten Entfernung multiplizieren.



  • sorry, ich versteh leider (fast) nichts..... wenn ich den Punkt anschaue, dann ist die Kameraposition doch die selbe (Ich = Kamera)???



  • hat sich erledigt, hab jetzt nen Tut gefunden, wo genau das drinnesteht 🙂
    Trotzdem danke


Anmelden zum Antworten