Delen via


FVF-hoekpuntbuffers (Direct3D 9)

Het instellen van de FVF-parameter van de IDirect3DDevice9::CreateVertexBuffer methode op een niet-nulwaarde, die een geldige FVF-code moet zijn, geeft aan dat de bufferinhoud moet worden gekenmerkt door een FVF-code. Een hoekpuntbuffer die met een FVF-code wordt gemaakt, wordt een FVF-hoekpuntbuffer genoemd. Sommige methoden of toepassingen van IDirect3DDevice9 FVF-hoekpuntbuffers vereisen en andere vereisen niet-FVF-hoekpuntbuffers. FVF-hoekpuntbuffers zijn vereist als het doelpuntbufferargument voor IDirect3DDevice9::P rocesVertices.

FVF-hoekpuntbuffers kunnen worden gebonden aan een brongegevensstroom voor elk stroomnummer.

De aanwezigheid van het D3DFVF_XYZRHW onderdeel op FVF-hoekpuntbuffers geeft aan dat de hoekpunten in die buffer zijn verwerkt. Hoekpuntbuffers die worden gebruikt voor IDirect3DDevice9::P rocesVertices doelpuntbuffers moeten na verwerking worden verwerkt. Hoekpuntbuffers die worden gebruikt voor invoer van vaste functie-shader kunnen vooraf worden verwerkt of naverwerkt. Als de hoekpuntbuffer na verwerking wordt verwerkt, wordt de shader effectief overgeslagen en worden de gegevens rechtstreeks doorgegeven aan de primitieve knip- en installatiemodule.

FVF-hoekpuntbuffers kunnen worden gebruikt met hoekpunt-shaders. Bovendien kunnen hoekpuntstreams dezelfde hoekpuntindelingen vertegenwoordigen die niet-FVF-hoekpuntbuffers kunnen bevatten. Ze hoeven niet te worden gebruikt om gegevens uit afzonderlijke hoekpuntbuffers in te voeren. Dankzij de extra flexibiliteit van de nieuwe hoekpuntstromen kunnen toepassingen die hun gegevens gescheiden moeten houden, beter werken, maar dit is niet vereist. Als de toepassing vooraf interleaved gegevens kan onderhouden, is dat een prestatieverbeteringen. Als de toepassing de gegevens alleen interleave vóór elke rendering-aanroep, moet de API of hardware dit met meerdere streams doen.

De belangrijkste dingen met hoekpuntprestaties zijn het gebruik van een hoekpunt van 32 bytes en het onderhouden van een goede cachevolgorde.

hoekpuntbuffers