Megosztás a következőn keresztül:


Direct3D-eszközök (Direct3D 9)

A Direct3D-eszköz a Direct3D renderelési összetevője. Beágyazza és tárolja a renderelési állapotot. Emellett a Direct3D-eszközök átalakításokat és világítási műveleteket hajtanak végre, és raszterizálják a képet egy felületre.

A Direct3D-eszközök architekturálisan egy átalakítási modult, egy világítási modult és egy raszterizáló modult tartalmaznak az alábbi ábrán látható módon.

közvetlen3d eszközarchitektúra diagramja

A Direct3D jelenleg a Direct3D-eszközök két fő típusát támogatja:

  • Hal típusú eszköz hardveresen gyorsított raszterizálással és árnyékolással hardveres és szoftveres csúcsfeldolgozással
  • Referenciaeszköz

Ezeket az eszközöket két különálló illesztőprogramként tekintheti. A szoftver- és referenciaeszközöket szoftverillesztők, a hal eszközt pedig egy hardverillesztő képviseli. Ezeknek az eszközöknek a használatának leggyakoribb módja a hal eszköz használata a szállítási alkalmazásokhoz, valamint a referenciaeszköz a funkciók teszteléséhez. Ezeket harmadik felek biztosítják bizonyos eszközök emulálásához – például olyan fejlesztői hardverek, amelyek még nem jelentek meg.

Az alkalmazás által létrehozott Direct3D-eszköznek meg kell felelnie annak a hardvernek a képességeinek, amelyen az alkalmazás fut. A Direct3D renderelési képességeket biztosít, akár a számítógépre telepített 3D hardver eléréséhez, akár a 3D hardver szoftverbeli képességeinek emulálásával. Ezért a Direct3D hardverhozzáféréshez és szoftveremulációhoz egyaránt biztosít eszközöket.

A hardveresen gyorsított eszközök sokkal jobb teljesítményt nyújtanak, mint a szoftvereszközök. A hal típusú eszköz minden Direct3D-támogatott grafikus adapteren elérhető. A legtöbb esetben az alkalmazások olyan számítógépeket céloznak meg, amelyek hardveres gyorsítást használnak, és a szoftveremulációra támaszkodnak az alsóbb szintű számítógépek elhelyezéséhez.

A referenciaeszköz kivételével a szoftvereszközök nem mindig támogatják ugyanazokat a funkciókat, mint a hardvereszközök. Az alkalmazásoknak mindig le kell kérdeznie az eszköz képességeit annak megállapításához, hogy mely funkciók támogatottak.

Mivel a Direct3D 9 által biztosított szoftverek és referenciaeszközök viselkedése megegyezik a haleszközével, a haleszközzel való együttműködéshez létrehozott alkalmazáskód módosítás nélkül fog működni a szoftverrel vagy a referenciaeszközökkel. Vegye figyelembe, hogy bár a megadott szoftver vagy referenciaeszköz viselkedése megegyezik a hal eszközével, az eszköz képességei eltérőek, és egy adott szoftvereszköz sokkal kisebb képességeket valósíthat meg.

Viselkedésmódok

A Direct3D lehetővé teszi az eszköz viselkedésének, valamint az eszköz típusának megadását. Az IDirect3D9::CreateDevice metódus lehetővé teszi egy vagy több viselkedésjelző kombinációját a Direct3D-eszköz globális viselkedésének szabályozásához. Ezek a viselkedések határozzák meg, hogy a Direct3D futásidejű részében mi van és mi nem, és az eszköztípusok határozzák meg, hogy melyik illesztőprogramot kell használni. Bár az eszköz viselkedésének egyes kombinációi érvénytelenek, az összes eszköz viselkedése használható az összes eszköztípussal. Érvényes például D3DDEVTYPE_SW megadása egy D3DCREATE_PUREDEVICE létrehozott eszközön.

Első lépések