Udostępnij za pośrednictwem


Walk-Throughs kodu D3D12

Ta sekcja zawiera kod przykładowych scenariuszy. Wiele przewodników zawiera szczegółowe informacje na temat kodu wymaganego do dodania do podstawowego przykładu, aby uniknąć powtarzania podstawowego kodu składnika dla każdego scenariusza.

W przypadku najbardziej podstawowego składnika zapoznaj się z sekcją Creating a Basic Direct3D 12 Component (Tworzenie podstawowego składnika Direct3D 12). W poniższych przewodnikach opisano bardziej zaawansowane scenariusze.

W tej sekcji

Temat Opis
D2D przy użyciu D3D11on12
W przykładzie D3D1211on12 pokazano, jak renderować zawartość D2D za pośrednictwem zawartości D3D12 przez udostępnianie zasobów między urządzeniem opartym na 11 a urządzeniem opartym na 12.
symulacja grawitacji n-ciała wielosilnikowego
Przykład D3D12nBodyGravity pokazuje, jak wykonywać obliczenia asynchronicznie. Przykład uruchamia wiele wątków z kolejką poleceń obliczeniowych i planuje pracę obliczeniową na procesorze GPU, który wykonuje symulację grawitacji n-ciała. Każdy wątek działa na dwóch pełnych pozycji i danych prędkości. W przypadku każdej iteracji moduł cieniowania obliczeniowego odczytuje bieżące położenie i dane prędkości z jednego buforu i zapisuje następną iterację w drugim buforze. Po zakończeniu iteracji cieniowanie obliczeniowe zamienia bufor, który bufor jest SRV do odczytywania danych o pozycji/prędkości i który jest UAV do zapisywania pozycji/prędkości aktualizacji przez zmianę stanu zasobu na każdym buforze.
zapytania predykacji
W przykładzie D3D12PredicationQueries pokazano wyłuszczanie okluzji przy użyciu sterty zapytań DirectX 12 i predykacji. W przewodniku opisano dodatkowy kod wymagany do rozszerzenia przykładu HelloConstBuffer w celu obsługi zapytań predykacji.
indeksowanie dynamiczne przy użyciu HLSL 5.1
W przykładzie D3D12DynamicIndexing przedstawiono niektóre nowe funkcje HLSL dostępne w modelu Shader Model 5.1 — szczególnie dynamiczne indeksowanie i niezwiązane tablice — w celu renderowania tej samej siatki wielokrotnie, przy każdym renderowaniu jej z dynamicznie wybranym materiałem. Dzięki indeksowaniu dynamicznego cieniowanie może teraz indeksować do tablicy bez znajomości wartości indeksu w czasie kompilacji. W połączeniu z niezwiązanymi tablicami dodaje to kolejny poziom pośredni i elastyczność dla autorów cieniowania i potoków sztuki.
rysunku pośredniego i procesora GPU
W przykładzie D3D12ExecuteIndirect pokazano, jak rysować zawartość za pomocą poleceń pośrednich. Pokazuje również, jak te polecenia można manipulować na procesorze GPU w cieniowania obliczeń przed ich wystawieniem.

przewodnik programowania Direct3D 12

samouczki wideo dotyczące uczenia zaawansowanego DirectX

przykładowy kod w dokumentacji D3D12

przykładów roboczych