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:
- Jeśli tekstura jest mapą modułu, gniazda = 4; w przeciwnym razie gniazda = 1.
- Jeśli tekstura jest mapą modułu, miejsca = 5; w przeciwnym razie gniazda = 2.
- Jeśli tekstura jest mapą modułu, gniazda = 4; w przeciwnym razie gniazda = 3.
Tematy pokrewne