Udostępnij za pośrednictwem


ps_1_1, ps_1_2, ps_1_3, ps_1_4

Zestaw cieniowania pikseli składa się z zestawu instrukcji, które działają na danych pikseli zawartych w rejestrach. Operacje są wyrażane jako instrukcje składające się z operatora i co najmniej jednego operandu. Instrukcje używają rejestrów do przesyłania danych do i z cieniatora pikseli ALU. Rejestry mogą być również używane przez niektóre instrukcje do przechowywania tymczasowych wyników.

Nuta

Obsługa protokołu HLSL dla cieniowania pikseli 1.x jest przestarzała.

 

Instrukcje

Istnieją dwie główne kategorie instrukcji cieniowania pikseli: instrukcje arytmetyczne i instrukcje dotyczące tekstury. Instrukcje arytmetyczne modyfikują dane kolorów. Tekstura zajmująca się operacjami przetwarza dane współrzędnych tekstur i w większości przypadków próbkuje teksturę. Instrukcje cieniowania pikseli są uruchamiane dla poszczególnych pikseli; oznacza to, że nie mają wiedzy o innych pikselach w potoku.

Instrukcje dotyczące tekstury poszczególnych zużywają jedno gniazdo, ale instrukcje arytmetyczne można sparować, aby włączyć oba składniki kolorów (RGB) i instrukcje składników alfa w jednym miejscu.

ps_1_1, ps_1_2, ps_1_3, ps_1_4 Instrukcje zawiera listę dostępnych instrukcji.

Gdy włączono wieloprzykładowe próbkowanie, cieniowania pikseli są uruchamiane tylko raz na piksel, a nie raz dla każdego subpixelu. Multisampling zwiększa tylko rozdzielczość krawędzi wielokąta, a także testy głębokości i wzornika. Na przykład jeśli włączono wieloskładnik 3x3, a rasteryzowany trójkąt jest pokrywany pięć z dziewięciu subpixel dla określonego piksela, cieniowanie pikseli jest uruchamiane raz, a ten sam wynik koloru jest stosowany do wszystkich pięciu subpixelów.

Rejestrów

ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers wyświetla listę różnych rejestrów używanych przez moduł cieniowania ALU.

Modyfikatorów

modyfikatory dla ps_1_X mogą służyć do zmiany funkcjonalności instrukcji lub odczytu lub zapisu danych w rejestrze.

Funkcja Direct3D 9 wymaga obliczeń pośrednich, aby zachować co najmniej 8-bitową precyzję dla wszystkich formatów powierzchni. Zalecana jest zarówno większa precyzja (12-bitowa) w przypadku matematyki etapowej, a nasycenie do 8-bitów między etapami tekstury. Nie są obsługiwane żadne modyfikowalne tryby zaokrąglania lub wyjątki. Mnożenie powinno być obsługiwane z dokładnością zaokrąglaną do najbliższej, aby zapewnić minimalną utratę dokładności.

Liczba przykładów

Liczba dostępnych próbek tekstur to:

  • W przypadku ps_1_0 — ps_1_3 wartość maksymalna to 4.
  • W przypadku ps_1_4 maksymalna wartość to 6.

cieniowanie pikseli