Einzelnen Beitrag anzeigen

oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#3

Re: Projektion mit Direct3D berechnen

  Alt 28. Jul 2005, 08:36
Zitat von marabu:
Meine Erwartung wäre, dass du die aktuelle matWorld (warum GetTransform? normal hast du die doch immer vorrätig...) mit der Verschiebung für deinen Text multiplizierst, danach SetTransform() und das war es.
Hallo marabu,

durch die WordMatrix kann man natürlich Transformationen der 3D-Objekte bezüglich des World-Koordinatensystems vornehmen. Bei Text handelt es sich jedoch nicht um ein Objekt der "3D-Welt" und daher gibt man in der Funktion DrawTextA auch Bildschirmkoordinaten in Pixeln an, um diesen zu positionieren. Um aber von den Welt-Koordinaten des 3D-Objektes zu den Bildschirmkoordinaten zu kommen muss man die Multiplikation

Wordmatrix * Viewmatrix * Projektionmatrix

"manuell" ausführen und dann den Vektor der 3D-Koordinaten mit dieser Matrix transformaieren.

Ob die Reihenfolge der Multiplikation so stimmt, da bin ich mir auch nicht 100%ig sicher. Zumal mir jemand erzählt hat, dass es

Wordmatrix * Viewmatrix * Perspectivematrix

heißen müßte. Daher frage ich mich, ob Projektionmatrix = Perspectivematrix? Eine Perspectivematrix gibt es in D3D nicht .

Gruß,
oXmoX
  Mit Zitat antworten Zitat