Connect with us

technokrata

Miről is szól a Direct3D 10?

Laptop

Miről is szól a Direct3D 10?

A mai napon az Nvidia GeForce 8-as sorozatának megjelenése a következő generációs grafika hajnalát hozhatja. Vajon mit várhatunk a DirectX 10-től és a vele kompatibilis hardverektől?


David Blythe – “The Direct3D 10 System”
Végül, de nem utolsósorban a Geometry Shader (GS) kerül terítékre. Vegyük végig a renderelési folyamat lépéseit (lehet fix, vagy szálas, fragmentált maggal). A “futószalag”, mint kifejezés csak rendszertani fogalom; minden fázis része az eljárásnak, de ezek történhetnek egyszerre is, a képkocka egy másik részére vonatkozóan. Bár először az Input Assemblerbe (IA) kerül az adat.
Mint látható a fenti diagramból, az IA összegyűjti az egydimenziós vertex adatokat. A maximum nyolc bemeneti adatfolyam meghatározott vertex adatokat fogad, amelyek maximum 16 strukturált elemet tartalmazhatnak. Egy elemben több adattípus lehet a négyből. Megint a diagramra tekintve látható, hogy a vertex bemenetére 16x3x32b (float32) kerül.
A vertex adatokat hagyományosan sorban a vertex bufferből olvassák, de egy index buffert azért meg kell adni. Ez további optimalizációt nyújt, mivel ugyanahhoz az indexhez nem kell a számítást újra elvégezni. Az egyes darabokon külön dolgozik a rendszer, majd az index adatok szerint fűzi össze őket.
Az IA képes replikálni az objektumokat is; aminek a neve instancing. Egyúttal taggeli a primitív adatokat, az aktuális azonosítóval. Most minden objektumnak van egy index ID-je, amit a későbbi fázisokban el lehet érni. Ez azt jelenti, hogyha van egy tankunk, ami a 100-as azonosítót kapja, akkor az alkatrészeinek is lesz azonosítója. Ezután elég egy hívás az egész tank kirajzolására.

David Blythe – “The Direct3D 10 System”
Ezután az adat a Geometry Shader és Stream Output (SO) részekhez ért. A GS fogja a vertexeket, és szükség esetén nagyítja őket, vagy további objektumokat (primitíveket) hoz létre: maximum 1024 db 32 bites vertex adatot. Ez a mag legerősebb része, s ráadásul további tulajdonságokat is képes a vertex adatokhoz fűzni – de meg is semmisítheti őket.
A Geometry Shader képes egyedül a memóriába írni, amit a Stream Output-on keresztül tehet meg. Ez összesen 16 elemet képes lemásolni, vagy négy egyszerű elemet a kimeneti pufferekbe helyezni. Ezt az adatot bármelyik folyamat olvashatja, így az adatok áramlása megállhat az IA és a Vertex Shader felől. A megjelenítést úgy lehet fenntartani, hogy csak a kimeneti adatokat kell manipulálni.

“The Direct3D 10 System”, David Blythe
A folyamat többi része már ismerős. Az adat a rasterizer és a Z-culling egységeken halad tovább. A Pixel Shaderek ezután felhúzzák a bőrt a vázra. Ide tartozik a megvilágítás és a többi effekt is.



Szólj hozzá!

További Laptop

Népszerű

Technokrata a Facebookon

IoT-Magazin.hu

Kütyük

Dotkom

Műszaki-Magazin.hu

Hirdetés
Hirdetés