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


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.