Udostępnij za pośrednictwem


Praca z modułami cieniującymi

Aby projektować niestandardowe efekty modułu cieniującego można używać projektanta modułu cieniującego opartego na wykresie w Visual Studio.Cieniowania te mogą być użyte w grze lub aplikacji opartej na technologii DirectX.

Moduły cieniujące

Program cieniujący jest programem komputerowym wykonującym obliczenia grafiki — na przykład przekształcanie wierzchołków lub kolorowanie pikseli — i zazwyczaj jest uruchamiany w procesorze graficznym (GPU), a nie w procesorze CPU.Ponieważ większość etapów tradycyjnego, stałego potoku graficznego jest teraz wykonywana przez programy do cieniowania, można ich użyć do utworzenia potoku specyficznego dla potrzeb aplikacji.

Najbardziej typowe rodzaje modułów cieniowania to programy do cieniowania wierzchołków, które wykonują obliczenia na wierzchołek i zastępują transformacje ze stałymi funkcjami i oświetlenia obwodów w nieprogramowalnym sprzęcie do grafiki, programy do cieniowania pikseli, który wykonują obliczenia na piksel w celu określenia koloru piksela i zastępują obwody stałej funkcji kolorów combiner w nieprogramowalnym sprzęcie do grafiki.Nowoczesnych sprzęt graficzny umożliwia nawet więcej rodzajów cieniowania — cieniowanie powłok, cieniowanie domen i cieniowanie geometrii dla obliczeń graficznych oraz cieniowania obliczane dla obliczeń niegraficznych.Żaden z tych etapów nie jest nawet dostępny nieprogramowalnym sprzęcie graficznym.Moduły cieniowania zostały pierwotnie utworzone przy użyciu języka podobnego do języka zestawu, który zapewniał instrukcje dotyczące architektur SIMD oraz zorientowanych na grafikę (dot product).Cieniowania są zwykle tworzone za pomocą języków wysokiego poziomu przypominających C, takich jak HLSL (High Level Shader Language).

Za pomocą projektanta modułu cieniującego można tworzyć cieniowania pikseli interaktywnie, zamiast poprzez wprowadzanie i kompilowanie kodu.W programie Shader Designer cieniowanie jest zdefiniowane przez szereg węzłów, które reprezentują dane i operacji, oraz połączenia między węzłami, które reprezentują przepływ wartości danych i wyników pośrednich przez cieniowanie.Przy użyciu tego podejścia i podglądu w czasie rzeczywistym w programie Shader Designer można łatwiej wizualizować wykonanie cieniowania i „odkrywać” interesujące wariacje cieniowania przez eksperymentowanie.

Dokumenty w języku DGSL

Program Shader Designer zapisuje cieniowania w formacie języka DGSL, będącym formatem XML, opartym na języku DGML.Moduły cieniujące DGSL można zastosować bezpośrednio do modeli trójwymiarowych edytora modelu.Jednak zanim będzie można używać cieniowania DGSL w aplikacji, należy je wyeksportować do formatu, który rozumie program DirectX — na przykład HLSL.

Ponieważ język DGSL jest zgodny z językiem DGML, można użyć narzędzi służących do analizowania dokumentów DGML do analizowania programów do cieniowania napisanych w języku DGSL.Informacje o języku DGML — zobacz Opis języka Directed Graph Markup Language (DGML).

Tematy pokrewne

Tytuł

Opis

Projektant modułu cieniującego

Opisuje sposób używania programu Visual Studio Shader Designer do pracy z cieniami.

Moduł cieniujący Projektant węzłów

W tym artykule omówiono rodzaje węzłów programu Shader Designer, za pomocą których można osiągnąć efekty graficzne.

Przykłady Projektant modułu cieniującego

Zawiera łącza do tematów, które przedstawiają sposób używania projektanta modułu cieniującego do osiągnięcia popularnych efektów graficznych.