Rejestr stałej liczby całkowitej (odwołanie HLSL PS)
Rejestry stałych liczb całkowitych są używane tylko przez pętlę — ps i rep — ps.
Można je ustawić przy użyciu defi - ps lub SetPixelShaderConstantI.
W przypadku użycia jako argumentu pętli — instrukcja ps:
- .x to liczba iteracji. (rep — ps używa tylko tego składnika).
- .y jest początkową wartością licznika pętli.
- .z to krok przyrostowy dla licznika pętli.
Wersje cieniowania pikseli | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
Rejestr stałej liczby całkowitej | x | x | x |
Zachowanie stałych cieniowania zmieniło się między Direct3D 8 i Direct3D 9.
- W przypadku direct3D 9 stałe ustawione z defx przypisują wartości do przestrzeni stałej cieniowania. Okres istnienia stałej zadeklarowanej z defx jest ograniczony tylko do wykonywania tego cieniowania. Z drugiej strony stałe ustawiane przy użyciu interfejsów API SetXXXShaderConstantX inicjują stałe w przestrzeni globalnej. Stałe w przestrzeni globalnej nie są kopiowane do przestrzeni lokalnej (widocznej dla cieniowania), dopóki nie zostanie wywołana funkcja SetxxxShaderConstants.
- W przypadku direct3D 8 stałe ustawione za pomocą defx lub interfejsów API przypisują wartości do przestrzeni stałej cieniowania. Za każdym razem, gdy cieniator jest wykonywany, stałe są używane przez bieżący moduł cieniowania niezależnie od techniki używanej do ich ustawiania.
Tematy pokrewne