Freigeben über


ShaderEffect.DdxUvDdyUvRegisterIndex Eigenschaft

Definition

Ruft einen Wert ab, der das Shaderregister für die partiellen Ableitungen der Texturkoordinaten bezüglich des Bildraums angibt, oder legt diesen Wert fest.

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

Eigenschaftswert

Int32

Der Index des Registers, das die partiellen Ableitungen enthält.

Ausnahmen

Es wurde versucht, die DdxUvDdyUvRegisterIndex-Eigenschaft mehr mehrmals oder nach der ersten Verarbeitung des Effekts festzulegen.

Hinweise

Verwenden Sie die DdxUvDdyUvRegisterIndex Eigenschaft, um das Shaderregister anzugeben, das die Teilderivate der Texturkoordinaten im Hinblick auf den Bildschirmraum enthält. Wenn DdxUvDdyUvRegisterIndex beispielsweise auf 4 festgelegt ist, wird das Shaderregister c4 verwendet. Register c4 enthält vier Floatfelder. Der folgende Schattierungscode (High Level Shading Language, HLSL) zeigt, wie dieses Register verwendet wird. Der nextPixelUV Wert stellt das nächste Pixel rechts dar.

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

tex2D(sampler, nextPixelUV);  

In der folgenden Tabelle wird gezeigt, wie das für die Registrierung angegebene DdxUvDdyUvRegisterIndex Register ausgefüllt wird.

Registerkonstante Derivatewert
x-Komponente ddx(u)
y-Komponente ddx(v)
z-Komponente ddy(u)
w-Komponente ddy(v)

Texturkoordinaten werden als angegeben (u, v). ddx(u) ist die konstante Teildeivat der Texturkoordinatenkomponente u im Hinblick auf die Bildschirmraum-x-Koordinate. ddy(u) ist die Teildeivat der Texturkoordinate im Hinblick auf die Bildschirmraumkoordinate y-Koordinate u . ddx(v) Ebenso sind die ddy(v) entsprechenden Bildschirmraum-Derivate für die Texturkoordinatenkomponentev.

Hinweis

HLSL verfügt über die ddx- und ddy-Anweisungen zum Berechnen dieser Werte, diese Anweisungen sind jedoch auf allen PixelShader 2.0-Hardware nicht verfügbar.

Möglicherweise denken Sie an diese Konstanten auf die folgende Weise. Wenn Sie schritt 1 Pixel rechts im Bildschirmraum (in der x Richtung), ddx(u) ist die Menge, die sich im Texturraum ändert, und ddx(v) die Menge u v, die sich im Texturraum ändert. Wenn der Effekt achsenbündig ausgerichtet ist, wenn er gerendert wird, ist es ddx(v) 0. Wenn der Effekt gedreht wird, wenn er gerendert wird, ist es ddx(v) nicht null.

Gilt für

Siehe auch