FVF-hörnbuffertar (Direct3D 9)
Om du anger FVF-parametern för IDirect3DDevice9::CreateVertexBuffer metod till ett värde som inte är noll, vilket måste vara en giltig FVF-kod, anger det att buffertinnehållet ska kännetecknas av en FVF-kod. En brytpunktsbuffert som skapas med en FVF-kod kallas för en FVF-brytpunktsbuffert. Vissa metoder eller användningar av IDirect3DDevice9 kräver FVF-hörnbuffertar och andra kräver buffertar som inte är FVF-hörnbuffertar. FVF-hörnbuffertar krävs som målhörnbuffertargument för IDirect3DDevice9::P rocessVertices.
FVF-hörnbuffertar kan bindas till en källdataström för valfritt strömnummer.
Förekomsten av D3DFVF_XYZRHW komponenten på FVF-hörnbuffertar anger att hörnen i bufferten har bearbetats. Hörnbuffertar som används för IDirect3DDevice9::P rocessVertices målhörnbuffertar måste bearbetas efter bearbetning. Hörnbuffertar som används för indata för fast funktionsskuggning kan antingen förbearbetas eller efterbearbetas. Om hörnbufferten efterbearbetas kringgås skuggningen effektivt och data skickas direkt till den primitiva urklipps- och konfigurationsmodulen.
FVF-hörnbuffertar kan användas med hörnskuggor. Hörnströmmar kan också representera samma hörnformat som andra hörnbuffertar än FVF. De behöver inte användas för att mata in data från separata hörnbuffertar. Den ytterligare flexibiliteten i de nya hörnströmmarna gör det möjligt för program som behöver hålla sina data åtskilda för att fungera bättre, men det krävs inte. Om programmet kan underhålla interfolierade data i förväg är det en prestandaökning. Om programmet bara ska mellanlagras data före varje återgivningsanrop bör det göra det möjligt för API:et eller maskinvaran att göra detta med flera strömmar.
Det viktigaste med hörnprestanda är att använda ett hörn på 32 byte och att upprätthålla en bra cacheordning.
Relaterade ämnen