FVF csúcspufferek (Direct3D 9)
Ha az IDirect3DDevice9::CreateVertexBuffer metódus FVF paraméterét nemzero értékre állítja, amelynek érvényes FVF-kódnak kell lennie, azt jelzi, hogy a puffertartalmat FVF-kóddal kell jellemezni. Az FVF-kóddal létrehozott csúcspuffereket FVF csúcspuffernek nevezzük. Az IDirect3DDevice9 egyes metódusai vagy használata FVF csúcspuffereket, míg mások nem FVF csúcspuffereket igényelnek. Az IDirect3Device9::P rocessVerticescélpontpuffer argumentumaként FVF csúcspufferek szükségesek.
Az FVF csúcspontpufferei bármilyen adatfolyamszámhoz köthetők egy forrásadatfolyamhoz.
A D3DFVF_XYZRHW összetevő jelenléte az FVF csúcspuffereken azt jelzi, hogy a puffer csúcsai fel lettek dolgozva. A IDirect3DDevice9::P rocessVertices célpontpufferekhez használt csúcspuffereket feldolgozás után kell elvégezni. A rögzített függvényárnyékoló bemeneteihez használt csúcspontpufferek előfeldolgozásra vagy utófeldolgozásra is használhatók. Ha a csúcspontpuffer feldolgozása után történik, a rendszer hatékonyan megkerüli az árnyékolót, és az adatokat közvetlenül a primitív kivágási és beállítási modulnak továbbítja.
Az FVF csúcspontpufferek használhatók csúcsárnyékolókkal. Emellett a csúcsfolyamok ugyanazokat a csúcsformátumokat jelölhetik, mint a nem FVF csúcspufferek. Ezeket nem kell használni a különböző csúcspontpufferek adatainak beviteléhez. Az új csúcsfolyamok további rugalmassága lehetővé teszi azoknak az alkalmazásoknak, amelyeknek külön kell tartaniuk az adataikat, hogy jobban működjenek, de ez nem szükséges. Ha az alkalmazás előre képes fenntartani az interleaved adatokat, akkor ez a teljesítmény növelése. Ha az alkalmazás csak minden renderelési hívás előtt nyitja meg az adatokat, akkor engedélyeznie kell az API-nak vagy a hardvernek, hogy ezt több adatfolyammal végezze el.
A csúcsteljesítmény legfontosabb elemei a 32 bájtos csúcsok használata és a helyes gyorsítótár-rendezés fenntartása.
Kapcsolódó témakörök