A Direct3D használatának első lépései
A Direct3D egy alacsony szintű API, amellyel primitíveket rajzolhat a renderelési folyamattal, vagy párhuzamos műveleteket hajthat végre a számítási árnyékolóval.
Mi az a Direct3D?
A Direct3D egy alacsony szintű API, amellyel keretenként háromszögeket, vonalakat vagy pontokat rajzolhat, vagy magas párhuzamos műveleteket indíthat el a GPU-n.
Direct3D:
- Elrejti a különböző GPU-implementációkat egy koherens absztrakció mögött. De még mindig tudnia kell, hogyan rajzolhat 3D-s ábrákat.
- Úgy tervezték, hogy külön grafikus processzort vezessen. Az újabb GPU-k több száz vagy több ezer párhuzamos processzorral rendelkeznek.
- Hangsúlyozza a párhuzamos feldolgozást. Beállít egy csomó renderelési vagy számítási állapotot, majd elindít egy műveletet. Ne várjon azonnali visszajelzésre a művelettől. A PROCESSZOR- és GPU-műveleteket nem keveri össze.
Mely Direct3D API-kat használhat?
A választott Direct3D API-k az írni kívánt alkalmazás stílusától függenek.
- Ha UWP-alkalmazást szeretne írni, használja a Direct3D 11, a DXGI és a HLSL API-k egy részét. Ezen API-k listáját az UWP-alkalmazásokhoz készült Win32 és COM API-kcímű témakörben találja. Ha tudni szeretné, hogyan írhat Direct3D 11 Windows Áruházbeli alkalmazást, olvassa el 3D-s ábrák létrehozása DirectX-.
- Asztali alkalmazás írása esetén a Direct3D 11, a DXGI és a HLSL API-k teljes készletét használhatja.
- A Windows 8-tól kezdve már nem támogatjuk aktívan az asztali alkalmazások XNA-keretrendszerét. A Windows Áruházbeli alkalmazások, UWP-alkalmazások és asztali alkalmazások azonban használhatják az XAudio2 és DirectXMath API-k teljes készletét. Az asztali alkalmazások az XInput API-k teljes készletét használhatják, míg a Windows Áruházbeli alkalmazások és az UWP-alkalmazások a legtöbb XInput API-t használhatják; További információ: XInput-verziók.
Melyik Direct3D-verzió?
A választott Direct3D API-verzió a megcélzni kívánt operációs rendszertől és hardverszinttől függ.
- Ha a Windows 8-at és újabb verziót szeretné megcélzni, használja a Direct3D 11 API-kat.
- Használja a Direct3D 9 API-kat Windows XP és újabb rendszereken. Minden hardver támogatja a Direct3D 9 API-kat, még az újabb Direct3D 11 szintű hardvereket is.
- Használja a Direct3D 10 API-kat Windows Vista és újabb rendszereken. Csak a Direct3D 10 szintű és újabb hardverek támogatják a Direct3D 10 API-kat.
- A Direct3D 10.1 és a Direct3D 11 API-k használata Windows 7 és újabb verzióval. A Direct3D 10.1 és a Direct3D 11 API-kat a Windows Vista és a Service Pack 2 (SP2) csomaggal is használhatja.
Direct3D renderelési folyamat
A Direct3D renderelési folyamat, az adatok több forrásból, például egy folyó mellékfolyóiból áramolnak.
- A folyamat egyes részei programozhatók.
- Egyes részekhez gombok és tárcsák tartoznak.
- Az adatforrások csomagokat (csúcspontokat) vagy indexelhető tömböket (árnyékoló erőforrásokat) tartalmazó soros adatfolyamok.
- A csúcspontok és a árnyékoló erőforrások primitívekké alakulnak, amelyeket felerősíthet.
- A primitívek és az árnyékoló erőforrások pixelműveleteket hajtanak végre.
Direct3D Compute Shader
A Direct3D számítási árnyékolóvala GPU processzorai párhuzamosan futnak. Tehát a számítási árnyékoló jobban hasonlít egy tóra, mint egy folyóra.