Objekt vor Rotation nicht sichtbar



  • Woran könnte es liegen das man das 3D Objekt vor der Rotation nicht sieht?

    gxRotate(0,0,0,0) alle Werte sind auch null das Objekt ist nicht sichtbar.

    gxRotate(0,0,0,0.1f) das Objekt ist zu sehen.

    So sieht die Rotationsfunktion aus:

    m_matRot._11= (x*x) * (1.0f - fcos ) + fcos;
        m_matRot._12= (x*y) * (1.0f - fcos ) - (z*fsin);
        m_matRot._13= (x*z) * (1.0f - fcos ) + (y*fsin);
        m_matRot._14= 0.0f
    
        m_matRot._21= (y*x) * (1.0f - fcos ) + (z*fsin);
        m_matRot._22= (y*y) * (1.0f - fcos ) + fcos;
        m_matRot._23= (y*z) * (1.0f - fcos ) - (x*fsin);
            m_matRot._24= 0.0f;
    
        m_matRot._31= (z*x) * (1.0f - fcos ) - (y*fsin);
        m_matRot._32= (z*y) * (1.0f - fcos ) + (x*fsin);
        m_matRot._33= (z*z) * (1.0f - fcos ) + fcos;
            m_matRot._34= 0.0f;
    
        m_matRot._41= 0.0f
            m_matRot._42= 0.0f
            m_matRot._43= 0.0f;
        m_matRot._44= 1.0f;
    

  • Mod

    wie ich dir schon einmal schrieb (soweit ich mich erinnere)
    wenn du bei glRotate(0,0,0,0) keine rotationaxis angibst, dann gibt es eventuell eine division durch 0 und dann ist das ergäbniss unvorhersehbar!
    du könntest auch glRotate(2*PI,0,0,0) angeben, trotzdem axe fehlend und es wird kaputt sein.

    rapso->greets();


  • Mod

    hab übersehen das mit dem x *pardón*

    bei deiner funktion ist aber der fehler an der selben stelle, somit ergibt jede zeile bei dir 0.f, weil es immer einen faktor bei der multiplikation gibt, der 0 ergibt....

    rapso->greets();



  • Wie willst Du denn um eine Vektor / Achse rotieren, wenn Du nicht mal eine spezifizierst. (0,0,0) ist ein Vektor mit Laenge 0. Der hat keine Richtung, sein Ursprung und Ende liegt im Ursprung. Ziemlich offensichtlich, dass das nicht gehen kann.~tOmUsA



  • Wenn ich das bei OpenGL mache kann man das Objekt sehen.

    Ich Transformiere das Objekt auch 10 Einheiten nach vorne.

    Ich selber befinde mich 20 Einheiten weiter hinten.


Anmelden zum Antworten