OpenGL:Matrices effizient nutzen



  • So...wo fange ich am besten an? 😃

    Ich hab ein kleines Problem mit den Matrices in gl...

    Pseudocode:

    void paintGL() {
      glclear...
      glLoadIdentity
    
      // Kamera
      glRotate/Translate
    
      // Models
      for (n models) {
        glPushMatrix
          glRotate/Translate
          paintModel
        glPopMatrix
      }
    
    }
    

    Irgendwo im Code später:

    double modelview[16];
    glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
    

    Result:
    ModelviewMatrix mit den glRotate/Translate der Kamera (oberste Matrix aufm Stack)

    Eigentliches Ziel: Whole ModelMatrix~

    Ich könnte jetzt...

    Auszug vom obigen Code:

    // Models
      for (n models) {
        glPushMatrix
          glRotate/Translate
          paintModel
    
       -> get ModelMatrix for Model n
    
        glPushMatrix
      }
    

    ...und später mit jeder Matrix individuell rechnen, jedoch kommt jetzt das aber:

    ➡ ich müsste ne beliebige spätere Func Y dann genau N mal durchlaufen um alle Models(N) zu behandeln

    Frage: Wie kann ich diese Situation einfacher gestalten?

    PS: Google spuckt nur scheiße aus und ich bekomme so langsam Sackhaare im Gesicht, ob mir da jemand helfen könnte? 😃


Anmelden zum Antworten