Sdílet prostřednictvím


ShaderEffect.DdxUvDdyUvRegisterIndex Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje shader registru, který se má použít pro částečné deriváty souřadnic textury s ohledem na prostor obrazovky.

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

Hodnota vlastnosti

Int32

Index registru, který obsahuje částečné deriváty.

Výjimky

Došlo k pokusu DdxUvDdyUvRegisterIndex o nastavení vlastnosti více než jednou nebo po počátečním zpracování efektu.

Poznámky

DdxUvDdyUvRegisterIndex Pomocí vlastnosti určete registr shaderu, který obsahuje částečné deriváty souřadnic textury s ohledem na prostor obrazovky. Pokud je například DdxUvDdyUvRegisterIndex nastavená hodnota 4, použije se registr shaderu c4. Registrace c4 obsahuje čtyři plovoucí pole. Následující kód jazyka HLSL (High Level Shading Language) ukazuje, jak se tento registr používá. Hodnota nextPixelUV představuje další pixel vpravo.

float4 ddxUvDdyUv : register(c4);  
SamplerState  sampler : register(S0);  
...  
float2 nextPixelUV;  
nextPixelUV.u = ddxUvDdyUv.x + u;  
nextPixelUV.v = ddxUvDdyUv.y + v;  

tex2D(sampler, nextPixelUV);  

Následující tabulka ukazuje, jak je vyplněný registr zadaný pro DdxUvDdyUvRegisterIndex .

Zaregistrovat konstantu Odvozená hodnota
x – komponenta ddx(u)
Komponenta y ddx(v)
komponenta z ddy(u)
w – součást ddy(v)

Souřadnice textury jsou označeny jako (u, v). ddx(u) je konstantní částečný derivát souřadnicové komponenty u textury s ohledem na souřadnici x mezery obrazovky. ddy(u) je částečná odvozená souřadnice textury s ohledem na souřadnici u prostorů obrazovky. ddx(v) Podobně a ddy(v) jsou odpovídající deriváty prostoru obrazovky pro souřadnicovou komponentu vtextury .

Poznámka

HLSL obsahuje pokyny pro výpočet těchto hodnot ddx a ddy, ale tyto pokyny nejsou k dispozici na všech hardwaru PixelShader 2.0.

Tyto konstanty si můžete představit následujícím způsobem. Pokud krok 1 pixel napravo od místa na obrazovce (ve směru x), pak ddx(u) je množství, které se změní v prostoru textury a ddx(v) je množství, které u v se mění v prostoru textury. Pokud je efekt při vykreslení zarovnán osou, je ddx(v) 0. Pokud je efekt otočený při vykreslení, je nenulový ddx(v) .

Platí pro

Viz také