Sdílet prostřednictvím


Začínáme s Direct3D

Direct3D je rozhraní API nízké úrovně pro kreslení primitiv s vykreslovacím kanálem nebo pro provádění paralelních operací s výpočetním shaderem.

Co je Direct3D?

Direct3D je rozhraní API nízké úrovně, které můžete použít k kreslení trojúhelníků, čar nebo bodů na rámec nebo ke spouštění vysoce paralelních operací na GPU.

Direct3D:

  • Skryje různé implementace GPU za koherentní abstrakci. Ale stále potřebujete vědět, jak kreslit 3D grafiku.
  • Je navržená tak, aby řídila samostatný grafický procesor. Novější gpu mají stovky nebo tisíce paralelních procesorů.
  • Zvýrazňuje paralelní zpracování. Nastavíte řadu stavů vykreslování nebo výpočtu a poté spustíte operaci. Nečekáte na okamžitou zpětnou vazbu z operace. Nekombinujete operace procesoru a GPU.

Která rozhraní API Direct3D můžete použít?

Rozhraní API Direct3D, která zvolíte, závisí na stylu aplikace, kterou chcete napsat.

  • Pokud chcete napsat aplikaci pro UPW, použijte podmnožinu rozhraní API Direct3D 11, DXGI a HLSL. Seznam těchto rozhraní API najdete v tématu Rozhraní API Win32 a COM pro aplikace pro UPW. Informace o psaní aplikace Direct3D 11 pro Windows Store najdete v tématu Vytvoření 3D grafiky pomocí directX.
  • Pokud píšete desktopovou aplikaci, můžete použít úplnou sadu rozhraní API Direct3D 11, DXGI a HLSL.
  • Od Windows 8 už aktivně nepodporujeme architekturu XNA pro desktopové aplikace. Ale aplikace pro Windows Store, aplikace pro UWP a desktopové aplikace můžou používat úplnou sadu XAudio2 a rozhraní API DirectXMath. Desktopové aplikace mohou používat úplnou sadu rozhraní API XInput, zatímco aplikace pro Windows Store a aplikace pro UPW můžou používat většinu rozhraní API XInput; Další informace najdete v tématu verze XInput.

Kterou verzi Direct3D?

Verze rozhraní API Direct3D, kterou zvolíte, závisí na operačním systému a na úrovni hardwaru, na kterou chcete cílit.

  • Pokud chcete cílit na Windows 8 a novější, použijte rozhraní API Direct3D 11.
  • Používejte rozhraní API Direct3D 9 se systémem Windows XP a novějším. Veškerý hardware podporuje rozhraní API Direct3D 9, a to ještě novější hardware na úrovni Direct3D 11.
  • Používejte rozhraní API Direct3D 10 s Windows Vista a novějšími verzemi. Pouze hardware s úrovní Direct3D 10 a novější podporuje rozhraní API Direct3D 10.
  • Používejte rozhraní API Direct3D 10.1 a Direct3D 11 s Windows 7 a novějším. Můžete také použít rozhraní API Direct3D 10.1 a Direct3D 11 s Windows Vista s aktualizací Service Pack 2 (SP2).

Kanál vykreslování Direct3D

V vykreslovacího kanálu direct3Ddata proudí z několika zdrojů, jako jsou přítoky řeky.

  • Některé části toku jsou programovatelné.
  • Některé části mají knoflíky a ciferníky.
  • Zdroje dat jsou buď sériové proudy datových paketů (vrcholů), nebo indexovatelná pole (prostředky shaderu).
  • Vrcholy a zdroje shaderu procházejí do primitiv, které můžete zesílit.
  • Primitiva a zdroje shaderu přecházejí do operací pixelů.

Výpočetní shader Direct3D

S výpočetním shaderem Direct3D pracují všechny procesory GPU současně. Výpočetní shader se tedy chová spíše jako rybník než řeka.