ShaderEffect.DdxUvDdyUvRegisterIndex Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 v
textury .
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)
.