Direct3D architektúra (Direct3D 9)
Ez a témakör két magas szintű nézetet nyújt a Direct3D architektúrájáról:
- Direct3D grafikus folyamat – A Direct3D renderelési rendszer belső feldolgozási architektúrájának nézete.
- Direct3D rendszerintegrációs – Annak megtekintése, hogy a Direct3D hogyan közvetít egy alkalmazás és a grafikus hardver között.
Direct3D grafikus folyamat
A grafikus folyamat lehetővé teszi a Direct3D-jelenetek hatékony feldolgozását és megjelenítését egy kijelzőn, kihasználva az elérhető hardver előnyeit. Az alábbi ábrán a folyamat építőelemei láthatók:
Folyamatösszetevő | Leírás | Kapcsolódó témakörök |
---|---|---|
Csúcsadatok | A nem transzformált modell csúcspontjai a csúcsok memóriapuffereiben vannak tárolva. | Csúcspufferek (Direct3D 9), IDirect3DVertexBuffer9 |
Primitív adatok | A geometriai primitívekre, beleértve a pontokat, vonalakat, háromszögeket és sokszögeket, indexpufferekkel rendelkező csúcsadatok hivatkoznak. | indexpufferek (Direct3D 9), IDirect3DIndexBuffer9, Primitívek, Higher-Order Primitívek (Direct3D 9) |
Mozaik | A tesselator egység csúcspontokká alakítja a magasabb rendű primitíveket, az elmozdulási térképeket és a hálófoltokat, és ezeket a helyeket csúcspufferekben tárolja. | Tessellation (Direct3D 9) |
Csúcsok feldolgozása | A Direct3D-átalakítások a csúcspufferben tárolt csúcsokra lesznek alkalmazva. | Csúcsfolyamat (Direct3D 9) |
Geometriafeldolgozás | Az átalakított csúcsokra a vágólap, a hátlap kivágása, az attribútumok kiértékelése és a raszterizálás lesz alkalmazva. | Pixel Pipeline (Direct3D 9) |
Texturált felület | A Direct3D felületek textúrakoordinátái az IDirect3DTexture9 interfészen keresztül jutnak el a Direct3D-hez. | Direct3D textúra (Direct3D 9), IDirect3DTexture9 |
Anyagminta-mintavevő | A textúraszintű szűrés a bemeneti textúraértékekre vonatkozik. | Direct3D-textúrák (Direct3D 9) |
Képpontfeldolgozás | A képpontárnyékoló műveletek geometriai adatokat használnak a bemeneti csúcsok és a textúraadatok módosításához, így a kimeneti képpont színértékeket eredményeznek. | Pixel Pipeline (Direct3D 9) |
Képpontmegjelenítés | A végső renderelési folyamatok alfa-, mélység- vagy rajzsablon-teszteléssel, illetve alfa-keverés vagy köd alkalmazásával módosítják a képpont színértékét. Az összes eredményként kapott képpontérték megjelenik a kimeneti kijelzőn. | Pixel Pipeline (Direct3D 9) |
Direct3D-rendszerintegráció
Az alábbi ábra egy Ablakalkalmazás, a Direct3D, a GDI és a hardver közötti kapcsolatokat mutatja be:
A Direct3D eszközfüggetlen felületet tesz elérhetővé egy alkalmazás számára. A Direct3D-alkalmazások a GDI-alkalmazások mellett létezhetnek, és mindkettőnek hozzáférése van a számítógép grafikus hardveréhez a grafikus kártya eszközillesztőjén keresztül. A GDI-vel ellentétben a Direct3D hal típusú eszköz létrehozásával kihasználhatja a hardverfunkciók előnyeit.
A hal eszköz hardveres gyorsítást biztosít a grafikus folyamat funkcióihoz a grafikus kártya által támogatott funkciókészlet alapján. A Direct3D metódusokkal lekérheti az eszközmegjelenítési képességeket futásidőben. (Lásd IDirect3DDevice9::GetDeviceCaps.) Ha a hardver nem biztosít képességeket, a hal nem jelenti hardveres képességként.
A Direct3D által támogatott hal és referenciaeszközökről további információt Eszköztípusok (Direct3D 9)című témakörben talál.