Einzelnen Beitrag anzeigen

.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#1

Allgemeine Frage zum Transformieren mit DirectX

  Alt 1. Mai 2008, 20:01
Also ich habe eine generelle Frage wie das Transformieren bei DirectX funktioniert.
Also wie ich es im Code mache weiss ich, aber was genau passiert versteh ich nicht.
Mal sehen wie ich das nun beschrieben bekomme ^^

Das erste Programm in dem ich etwas bewegen lies, hatte nur eine Funktion zur Transformation.
Diese wurde einmal am Anfang der Render Prozedur aufgerufen, danach wurden alle Objekte gerendert.
Dies führte dazu, dass alle Objekte mit nur einer Transformationsanweisung transformiert wurden und somit alle gleich.

Jetzt habe ich für meine Objekte jeweils eigene Klassen, die jeweils eine eigene Matrix besitzen.
Vor dem Rendern jedes einzelnen Objekts wird dann folgendes aufgerufen:
Device.SetTransform(D3DTS_WORLD, ObjektMatrix); Dies führt dazu, dass nur das bestimmte Objekt transformiert wird.

Wie genau funktioniert das nun also? Mich verwirrt es etwas, dass man zB keine Funktion hat um einen komplette Vertexbuffer zu transformieren. Woher weiss DX nun was transformiert werden soll?
Ich kann mir schon vorstellen, dass das Objekt garnicht wirklich transformiert wird sondern es für den Benutzer hinterher nur so aussieht oder? Was genau macht DirectX denn nun bei so einer Transformation?

Ich hoffe ihr versteht was ich meine und koennt mich kurz aufklären.

Grüße, .ch!cken
  Mit Zitat antworten Zitat