Objekte in OpenGL ES 2.0 unabhängig transformieren

8

Alle Tutorials, die ich gesehen habe, benutzen immer ein einzelnes Objekt, wie ein Dreieck oder einen Würfel. Aber mir ist nicht klar, wie ich einzelne Objekte unabhängig voneinander manipulieren kann. Ich habe einige Tutorials gesehen, die sich auf die feste Funktionspipeline beziehen und Pushmatrix und Popmatrix verwenden, aber mit der programmierbaren Pipeline sind diese Funktionen weg. Unten sind eine Init-Funktion und eine Zeichenfunktion, die ein einzelnes Dreieck auf dem Bildschirm zeichnen und es um die Z-Achse drehen. Kann jemand mir den Code zeigen, oder sogar Pseudocode, um ein zweites Dreieck hinzuzufügen und es unabhängig von dem anderen Dreieck zu drehen? Sprich um eine andere Achse oder in die entgegengesetzte Richtung?

Hier sind sie:

%Vor%     
Legion 11.04.2012, 19:57
quelle

1 Antwort

6

Nachdem Sie das erste Dreieck gezeichnet haben, generieren Sie eine neue MVP-Matrix mit Ihrer neuen gewünschten Rotation / Position, laden Sie sie hoch und zeichnen Sie das Dreieck ein zweites Mal. Sie können Uniformen während der Szene beliebig oft wechseln.

Dies ist ähnlich dem, was Push und Pop machen, sie ändern nur die aktive Matrix, bevor sie ein bestimmtes Objekt zeichnen.

Beispiel Pseudocode:

%Vor%

Dies wird Sie mit drei Dreiecke verlassen, bei (0,0,0), (1,0,0) und (2,0,0).

    
Tim 11.04.2012, 20:11
quelle

Tags und Links