ShaderEffect.DdxUvDdyUvRegisterIndex Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica il registro dello shader da usare per la derivazione parziale delle coordinate della trama rispetto alle dimensioni dello schermo.
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
Valore della proprietà
Indice del registro contenente la derivazione parziale.
Eccezioni
È stato effettuato un tentativo di impostare la proprietà DdxUvDdyUvRegisterIndex più volte o successivamente all'elaborazione iniziale dell'effetto.
Commenti
Usare la DdxUvDdyUvRegisterIndex proprietà per specificare il registro shader che contiene le derivate parziali delle coordinate della trama rispetto allo spazio dello schermo. Ad esempio, se DdxUvDdyUvRegisterIndex è impostato su 4, viene usato il registro shader c4. Register c4 contiene quattro campi float. Il codice HLSL (High Level Shading Language) seguente mostra come viene usato questo registro. Il nextPixelUV
valore rappresenta il pixel successivo a destra.
float4 ddxUvDdyUv : register(c4);
SamplerState sampler : register(S0);
...
float2 nextPixelUV;
nextPixelUV.u = ddxUvDdyUv.x + u;
nextPixelUV.v = ddxUvDdyUv.y + v;
tex2D(sampler, nextPixelUV);
Nella tabella seguente viene illustrato il modo in cui viene compilato il registro specificato per DdxUvDdyUvRegisterIndex .
Registra costante | Valore derivato |
---|---|
componente x | ddx(u) |
Componente y | ddx(v) |
componente z | ddy(u) |
componente w | ddy(v) |
Le coordinate della trama sono indicate come (u, v)
. ddx(u)
è la derivata parziale costante del componente u
della coordinata della trama rispetto alla coordinata x dello spazio dello schermo. ddy(u)
è la derivata parziale della coordinata u
della trama rispetto alla coordinata y dello spazio dello schermo. Analogamente, ddx(v)
e ddy(v)
sono i derivati dello spazio dello schermo corrispondenti per il componente v
della coordinata della trama .
Nota
HLSL include le istruzioni ddx e ddy per calcolare questi valori, ma queste istruzioni non sono disponibili in tutti gli hardware PixelShader 2.0.
È possibile pensare a queste costanti nel modo seguente. Se passi 1 pixel a destra nello spazio dello schermo (nella direzione x), è ddx(u)
la quantità che u
cambia nello spazio della trama e ddx(v)
corrisponde alla quantità che v
cambia nello spazio della trama. Se l'effetto è allineato all'asse quando viene eseguito il rendering, ddx(v)
è 0. Se l'effetto viene ruotato quando viene eseguito il rendering, è ddx(v)
diverso da zero.