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. |