ShaderEffect.DdxUvDdyUvRegisterIndex Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.