Zitat:
Ich werde mich mal mit den X-Funtionen von D3D beschäftigen, denn das klingt ja nach dem Verfahren die ich zum Abitur gebraucht habe (Verschiebe zum Koordinatenursprung, rechne, Schiebe zurück).
Im Prinzip ja ;c)
D3DX enthält lediglich Hilfsfunktionen, du kannst es natürlich auch ohne machen ;c)
---
Wozu brauchst du in einer Direct3D-Anwendung einen
DC?
---
Das mit dem Vertexbuffer stimmt nicht. Du befüllst ihn EINMAL. Wenn du jetzt dein Sprite rendern willst, verschiebst du den Ursprung z.B. mit einer D3XMatrixTranslation an die jeweilige Stelle, rotierst und skalierst gegebenenfalls mit D3XMatrixScaling und D3DXMatrixRotation* und dann musst du noch eine Matrix erstellen, die auf der Textur den richtigen Bereich auswählt (also Translation + Skalierung), die du als Texturtransformationsmatrix Direct3D übergibst. Der Witz ist, der Vertexbuffer braucht von dir nie wieder angetastet zu werden (außer du willst ihn freigeben). Die Parameter für die Matrix-Funktionen sind also lediglich Größe und Position der Sterne, die du in einem Array hältst. Auf dieses Array kann die CPU wesentlich schneller zugreifen als auf einen Vertexbuffer.