FVF-Vertexpuffer (Direct3D 9)
Das Festlegen des FVF-Parameters des IDirect3DDevice9::CreateVertexBuffer Methode auf einen Wert ungleich Null, der ein gültiger FVF-Code sein muss, gibt an, dass der Pufferinhalt durch einen FVF-Code gekennzeichnet werden soll. Ein Vertexpuffer, der mit einem FVF-Code erstellt wird, wird als FVF-Vertexpuffer bezeichnet. Einige Methoden oder Verwendungen von IDirect3DDevice9 erfordern FVF-Vertexpuffer und andere erfordern Nicht-FVF-Vertexpuffer. FVF-Vertexpuffer sind als Zielvertexpufferargument für IDirect3DDevice9::P rocessVerticeserforderlich.
FVF-Vertexpuffer können für eine beliebige Datenstromzahl an einen Quelldatenstrom gebunden werden.
Das Vorhandensein der D3DFVF_XYZRHW Komponente auf FVF-Vertexpuffern gibt an, dass die Scheitelpunkte in diesem Puffer verarbeitet wurden. Vertexpuffer, die für IDirect3DDevice9::P rocessVertices Zielvertexpuffer verwendet werden, müssen nach der Verarbeitung erfolgen. Vertexpuffer, die für feste Funktions-Shadereingaben verwendet werden, können entweder vorverarbeitet oder postverarbeitet werden. Wenn der Vertexpuffer nach der Verarbeitung erfolgt, wird der Shader effektiv umgangen, und die Daten werden direkt an das primitive Clipping- und Setupmodul übergeben.
FVF-Vertexpuffer können mit Vertex-Shadern verwendet werden. Außerdem können Vertexdatenströme dieselben Vertexformate darstellen, die nicht von FVF-Vertexpuffern möglich sind. Sie müssen nicht zum Eingeben von Daten aus separaten Vertexpuffern verwendet werden. Die zusätzliche Flexibilität der neuen Vertexdatenströme ermöglicht Anwendungen, die ihre Daten getrennt halten müssen, um besser zu funktionieren, aber nicht erforderlich. Wenn die Anwendung vorab interleavierte Daten verwalten kann, ist dies eine Leistungssteigerung. Wenn die Anwendung die Daten nur vor jedem Renderingaufruf interleave, sollte sie die API oder Hardware aktivieren, um dies mit mehreren Streams zu tun.
Die wichtigsten Punkte bei der Vertexleistung sind die Verwendung eines 32-Byte-Vertex und die Beibehaltung einer guten Cache-Sortierung.
Verwandte Themen