Udostępnij przez


Rejestr stałej liczby całkowitej (odwołanie HLSL VS)

Rejestry stałych liczb całkowitych są używane tylko przez pętlę — vs i rep — vs.

Można je ustawić przy użyciu defi — vs lub SetVertexShaderConstantI.

W przypadku użycia jako argumentu pętli — a instrukcja:

  • .x to liczba iteracji. (rep — vs używa tylko tego składnika).
  • .y jest początkową wartością licznika pętli.
  • .z to krok przyrostowy dla licznika pętli.

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.

Rejestry cieniowania wierzchołków