ShaderEffect.DdxUvDdyUvRegisterIndex Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość wskazującą rejestr cieniowania do użycia dla częściowych pochodnych współrzędnych tekstury w odniesieniu do przestrzeni ekranu.
protected:
property int DdxUvDdyUvRegisterIndex { int get(); void set(int value); };
protected int DdxUvDdyUvRegisterIndex { get; set; }
member this.DdxUvDdyUvRegisterIndex : int with get, set
Protected Property DdxUvDdyUvRegisterIndex As Integer
Wartość właściwości
Indeks rejestru, który zawiera częściowe pochodne.
Wyjątki
Podjęto próbę DdxUvDdyUvRegisterIndex ustawienia właściwości więcej niż raz lub po początkowym przetworzeniu efektu.
Uwagi
DdxUvDdyUvRegisterIndex Użyj właściwości , aby określić rejestr cieniowania, który zawiera częściowe pochodne współrzędnych tekstury w odniesieniu do przestrzeni ekranu. Jeśli na przykład DdxUvDdyUvRegisterIndex ustawiono wartość 4, używany jest rejestr cieniowania c4. Rejestrowanie c4 zawiera cztery pola zmiennoprzecinkowe. Poniższy kod HLSL (High Level Shading Language) pokazuje, jak jest używany ten rejestr. Wartość nextPixelUV
reprezentuje następny piksel po prawej stronie.
float4 ddxUvDdyUv : register(c4);
SamplerState sampler : register(S0);
...
float2 nextPixelUV;
nextPixelUV.u = ddxUvDdyUv.x + u;
nextPixelUV.v = ddxUvDdyUv.y + v;
tex2D(sampler, nextPixelUV);
W poniższej tabeli przedstawiono sposób wypełnienia rejestru określonego dla DdxUvDdyUvRegisterIndex .
Zarejestruj stałą | Wartość pochodna |
---|---|
x składnik | ddx(u) |
Składnik y | ddx(v) |
składnik z | ddy(u) |
w składniku | ddy(v) |
Współrzędne tekstury są oznaczone jako (u, v)
. ddx(u)
jest stałą częściową pochodną składnika u
współrzędnych tekstury względem współrzędnych x-przestrzeni ekranu. ddy(u)
jest częściową pochodną współrzędnych u
tekstury względem współrzędnych współrzędnych odstępu ekranu. Podobnie ddx(v)
i ddy(v)
są odpowiednimi pochodnymi przestrzeni ekranu dla składnika v
współrzędnych tekstury .
Uwaga
Program HLSL zawiera instrukcje ddx i ddy do obliczania tych wartości, ale te instrukcje nie są dostępne na wszystkich urządzeniach PixelShader 2.0.
Możesz myśleć o tych stałych w następujący sposób. Jeśli wykonasz krok 1 piksela po prawej stronie w obszarze ekranu (w kierunku x), ddx(u)
to jest ilość, która u
zmienia się w przestrzeni tekstury i ddx(v)
jest ilością, która v
zmienia się w przestrzeni tekstury. Jeśli efekt jest wyrównany do osi podczas renderowania, ddx(v)
wartość to 0. Jeśli efekt jest obracany po jego renderowaniu, ddx(v)
wartość nie jest zerowa.