Udostępnij za pośrednictwem


instrukcje ps_3_0

Ta sekcja zawiera informacje referencyjne dotyczące instrukcji cieniowania pikseli w wersji 3_0.

Istnieje kilka typów instrukcji cieniowania pikseli, jak pokazano w tabeli. Kolumny po prawej stronie oznaczają następujące elementy:

  • Gniazda instrukcji — liczba gniazd instrukcji używanych przez każdą instrukcję.
  • Konfiguracja — cieniowanie pikseli musi mieć instrukcję wersji i musi być pierwszą instrukcją.
  • Arytmetyka — te instrukcje zapewniają operacje matematyczne w cieniatorze.
  • Tekstura — te instrukcje służą do ładowania i próbkowania danych tekstury oraz do modyfikowania współrzędnych tekstury.
  • Sterowanie przepływem — te instrukcje zapewniają statyczną i dynamiczną kontrolę przepływu do wykonywania instrukcji.
  • Nowe — te instrukcje są nowe w tej wersji.

Zestaw instrukcji

Nazwa Opis Gniazda instrukcji Instalacji Arytmetyka Tekstura Sterowanie przepływem Nowy
abs - ps Wartość bezwzględna 1 x
dodaj — ps Dodawanie dwóch wektorów 1 x
przerwa — ps Wyłamaj się z pętli... endloop lub rep... blok endrep 1 x
break_comp — ps Warunkowe przerwanie pętli... endloop lub rep... blok endrep z porównaniem 3 x
breakp — ps przerwy w pętli... endloop lub rep... blok endrep oparty na predykacie 3 x
połączenie — ps Wywoływanie podproprocji 2 x
callnz bool - ps Wywoływanie podrouty, jeśli rejestr logiczny nie jest zerowy 3 x
callnz pred - ps Wywoływanie podprodukcji, jeśli rejestr predykatu nie jest zerowy 3 x
cmp — ps Porównaj źródło z 0 1 x
crs — ps Iloczyn wektorowy 2 x
dcl_samplerType (sm2, sm3 - ps asm) Deklarowanie wymiaru tekstury dla próbkatora 0 x
dcl_semantics (sm3 — ps asm) Deklarowanie rejestrów wejściowych i wyjściowych 0 x x
def — ps Definiowanie stałych 0 x
defb — ps Definiowanie stałej logicznej 0 x
defi — ps Definiowanie stałej liczby całkowitej 0 x
dp2add — ps Produkt kropkowy 2D i dodaj 2 x
dp3 — ps Produkt kropkowy 3-W 1 x
dp4 — ps Produkt kropkowy 4-W 1 x
dsx — ps Częstotliwość zmian w kierunku x 2 x
dsy — ps Częstotliwość zmian w kierunku y 2 x
else — ps Rozpocznij blok else 1 x
endif — ps Zakończ, jeśli... blok else 1 x
endloop — ps Kończenie pętli 2 x x
endrep — ps Koniec bloku powtarzania 2 x
exp — ps Pełna precyzja 2x 1 x
frc - ps Składnik ułamkowy 1 x
jeśli bool - ps Rozpoczynanie bloku if 3 x
if_comp — ps Rozpocznij blok if z porównaniem 3 x
wstępnie — ps Rozpoczynanie bloku if z predykacją 3 x
etykieta — ps Etykieta 0 x
dziennik — ps Dziennik o pełnej precyzji (x) 1 x
pętla — ps Pętla 3 x x
lrp — ps Interpolacja liniowa 2 x
m3x2 — ps Mnożenie 3x2 2 x
m3x3 — ps Mnożenie 3x3 3 x
m3x4 - ps Mnożenie 3x4 4 x
m4x3 — ps Mnożenie 4x3 3 x
m4x4 — ps Mnożenie 4x4 4 x
szalony - ps Mnożenie i dodawanie 1 x
maksymalna — ps Maksimum 1 x
min — ps Minimum 1 x
mov — ps Ruszać 1 x
mul - ps Mnożyć 1 x
nop — ps Brak operacji 1 x
nrm — ps Normalizować 3 x
pow — ps xy 3 x
ps Wersja 0 x
rcp — ps Obopólny 1 x
rep — ps Powtórzyć 3 x
ret — ps Koniec podrouty 1 x
rsq — ps Pierwiastek kwadratowy obustronny 1 x
setp_comp Ustawianie rejestru predykatu 1 x
sincos - ps Sinus i cosinus 8 x
sub — ps Odejmować 1 x
texkill — ps Zabij renderowanie pikseli 2 x
texld — ps_2_0 i Próbkowanie tekstury Zobacz notatkę 1 x
texldb — ps Próbkowanie tekstur z stronniczością na poziomie szczegółów ze składnika w 6 x
texldl — ps Próbkowanie tekstur z poziomem szczegółowości ze składnika w Zobacz notatkę 2 x x
texldd — ps Próbkowanie tekstur z gradientami dostarczonymi przez użytkownika 3 x
texldp — ps Próbkowanie tekstur z podziałem projekcyjnym przez składnik w Zobacz notatkę 3 x

 

Notatki:

  1. Jeśli tekstura jest mapą modułu, gniazda = 4; w przeciwnym razie gniazda = 1.
  2. Jeśli tekstura jest mapą modułu, miejsca = 5; w przeciwnym razie gniazda = 2.
  3. Jeśli tekstura jest mapą modułu, gniazda = 4; w przeciwnym razie gniazda = 3.

instrukcje cieniowania pikseli