Compartir vía


ShaderEffect.DdxUvDdyUvRegisterIndex Propiedad

Definición

Obtiene o establece un valor que indica el registro de sombreador que se va a usar para los derivados parciales de las coordenadas de textura con respecto al espacio de pantalla.

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

Valor de propiedad

Int32

Índice del registro que contiene los derivados parciales.

Excepciones

Se intentó establecer la propiedad DdxUvDdyUvRegisterIndex más de una vez o después del procesamiento inicial del efecto.

Comentarios

Utilice la DdxUvDdyUvRegisterIndex propiedad para especificar el registro de sombreador que contiene los derivados parciales de las coordenadas de textura con respecto al espacio en pantalla. Por ejemplo, si DdxUvDdyUvRegisterIndex se establece en 4, se usa el registro del sombreador c4. El registro c4 contiene cuatro campos float. El siguiente código de lenguaje de sombreado de alto nivel (HLSL) muestra cómo se usa este registro. El nextPixelUV valor representa el siguiente píxel a la derecha.

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

tex2D(sampler, nextPixelUV);  

En la tabla siguiente se muestra cómo se rellena el registro especificado para DdxUvDdyUvRegisterIndex .

Registrar constante Valor derivado
Componente x ddx(u)
Componente y ddx(v)
componente z ddy(u)
componente w ddy(v)

Las coordenadas de textura se indican como (u, v). ddx(u) es la derivada parcial constante del componente u de coordenada de textura con respecto a la coordenada x del espacio de pantalla. ddy(u) es la derivada parcial de la coordenada u de textura con respecto a la coordenada y del espacio de pantalla. Del mismo modo, ddx(v) y ddy(v) son los derivados de espacio de pantalla correspondientes para el componente vde coordenadas de textura .

Nota

HLSL tiene las instrucciones ddx y ddy para calcular estos valores, pero estas instrucciones no están disponibles en todo el hardware pixelShader 2.0.

Es posible que piense en estas constantes de la siguiente manera. Si pasa 1 píxel a la derecha en el espacio de pantalla (en la dirección x), ddx(u) es la cantidad que u cambia en el espacio de textura y ddx(v) es la cantidad que v cambia en el espacio de textura. Si el efecto está alineado con el eje cuando se representa, ddx(v) entonces es 0. Si el efecto se gira cuando se representa, no ddx(v) es cero.

Se aplica a

Consulte también