Sdílet prostřednictvím


Walk-Throughs kódu D3D12

Tato část obsahuje kód pro ukázkové scénáře. Mnoho návodů obsahuje podrobnosti o tom, jaké kódování je potřeba přidat do základní ukázky, aby se zabránilo opakování základního kódu komponenty pro jednotlivé scénáře.

Základní součást najdete v části Vytvoření základní komponenty Direct3D 12. Následující návody popisují pokročilejší scénáře.

V této části

Námět Popis
D2D pomocí D3D11on12
Ukázka D3D1211on12 ukazuje, jak vykreslit obsah D2D přes obsah D3D12 sdílením prostředků mezi zařízením se systémem 11 a 12 zařízením.
multi-engine n-body gravity simulace
Ukázka D3D12nBodyGravity ukazuje, jak pracovat výpočty asynchronně. Ukázka roztáčí řadu vláken s frontou výpočetních příkazů a naplánuje výpočetní práci na GPU, která provádí simulaci n-body gravity. Každé vlákno pracuje se dvěma vyrovnávacími paměťmi plnými dat o poloze a rychlosti. Při každé iteraci načte výpočetní shader aktuální pozici a rychlost dat z jedné vyrovnávací paměti a zapíše další iteraci do druhé vyrovnávací paměti. Po dokončení iterace se výpočetní shader prohodí, která vyrovnávací paměť je SRV pro čtení dat o poloze/rychlosti a což je UAV pro zápis umístění a rychlosti aktualizace tím, že změní stav prostředku v každé vyrovnávací paměti.
dotazy predikace
Ukázka D3D12PredicationQueries demonstruje omezování pomocí hald a predikace dotazů DirectX 12. Návod popisuje další kód potřebný k rozšíření ukázky HelloConstBuffer pro zpracování dotazů predikace.
dynamické indexování pomocí HLSL 5.1
Ukázka D3D12DynamicIndexing ukazuje některé z nových funkcí HLSL dostupných v modelu Shader 5.1 – zejména dynamické indexování a nevázaná pole – k vícenásobnému vykreslení stejné sítě při každém vykreslení s dynamicky vybraným materiálem. Při dynamickém indexování teď můžou shadery indexovat do pole, aniž by znaly hodnotu indexu v době kompilace. V kombinaci s nevázanými poli se tím přidá další úroveň nepřímých a flexibilních kanálů pro autory shaderu a umělecké kanály.
nepřímého výkresu a odpočítání GPU
Ukázka D3D12ExecuteIndirect ukazuje, jak pomocí nepřímých příkazů nakreslit obsah. Ukazuje také, jak lze tyto příkazy manipulovat s GPU ve výpočetním shaderu před jejich vydáním.

průvodce programováním Direct3D 12

pokročilé výukové videokursy directx

příklad kódu v referenčním D3D12

pracovních ukázek