Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Efekt DirectX jest kolekcją stanu potoku, ustawianą przez wyrażenia napisane w HLSL i niektóre składnie specyficzne dla struktury efektów. Po skompilowaniu efektu użyj interfejsów API platformy efektu do renderowania. Funkcje efektu mogą wahać się od czegoś tak prostego, jak cieniowania wierzchołka, który przekształca geometrię i cieniowanie pikseli, który generuje pełny kolor, do techniki renderowania, która wymaga wielu przejść, używa każdego etapu potoku grafiki i manipuluje stanem cieniowania, a także stan potoku niezwiązany z programowalnymi cieniowaniami.
Pierwszym krokiem jest zorganizowanie stanu, który chcesz kontrolować w efekcie. Obejmuje to stan cieniowania (wierzchołek, geometrię i cieniowanie pikseli), teksturę i stan próbkatora używany przez cieniowanie oraz inny nieprogramowalny stan potoku. Możesz utworzyć efekt w pamięci jako ciąg tekstowy, ale zazwyczaj rozmiar jest wystarczająco duży, że jest przydatny do przechowywania stanu efektu w pliku efektowym (plik tekstowy kończący się rozszerzeniem fx). Aby użyć efektu, należy go skompilować (aby sprawdzić składnię HLSL, a także składnię struktury efektu), zainicjować stan efektu za pomocą wywołań interfejsu API i zmodyfikować pętlę renderowania w celu wywołania interfejsów API renderowania.
- organizowanie stanu w efektów
- interfejsy systemowe efektowe
- specjalne interfejsy
- renderowanie efektu
Efekt hermetyzuje cały stan renderowania wymagany przez określony efekt w jednej funkcji renderowania nazywanej techniką. Przekazywanie jest podzestawem techniki, która zawiera stan renderowania. Aby zaimplementować efekt renderowania wielokrotnego przekazywania, zaimplementuj co najmniej jeden przebieg w ramach techniki. Załóżmy na przykład, że chcesz renderować geometrię z jednym zestawem głębokości/wzornika, a następnie narysować niektóre sprites na górze. Renderowanie geometrii można zaimplementować w pierwszym przebiegu oraz rysunek sprite w drugim przebiegu. Aby renderować efekt, wystarczy renderować oba przebiegi w pętli renderowania. W efekcie można zaimplementować dowolną liczbę technik. Oczywiście im większa liczba technik, tym większy czas kompilacji dla efektu. Jednym ze sposobów wykorzystania tej funkcji jest tworzenie efektów za pomocą technik, które są przeznaczone do uruchamiania na innym sprzęcie. Dzięki temu aplikacja może bezpiecznie obniżyć wydajność na podstawie wykrytych możliwości sprzętowych.
Tematy pokrewne
-
Przewodnik programowania dla Direct3D 10