ShaderEffect.DdxUvDdyUvRegisterIndex Propriété

Définition

Obtient ou définit une valeur qui indique le registre de nuanceur à utiliser pour les dérivées partielles des coordonnées de texture par rapport à l'espace écran.

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

Valeur de propriété

Int32

Index du registre qui contient les dérivées partielles.

Exceptions

Une tentative de définition de la propriété DdxUvDdyUvRegisterIndex à plusieurs reprises ou après le traitement initial de l'effet a été effectuée.

Remarques

Utilisez la DdxUvDdyUvRegisterIndex propriété pour spécifier le registre du nuanceur qui contient les dérivés partiels des coordonnées de texture par rapport à l’espace de l’écran. Par exemple, si DdxUvDdyUvRegisterIndex la valeur est 4, le registre du nuanceur c4 est utilisé. L’inscription c4 contient quatre champs float. Le code HLSL (High Level Shading Language) suivant montre comment ce registre est utilisé. La nextPixelUV valeur représente le pixel suivant à droite.

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

tex2D(sampler, nextPixelUV);  

Le tableau suivant montre comment le registre spécifié est DdxUvDdyUvRegisterIndex rempli.

Inscrire une constante Valeur dérivée
composant x ddx(u)
composant y ddx(v)
composant z ddy(u)
composant w ddy(v)

Les coordonnées de texture sont indiquées en tant que (u, v). ddx(u) est la dérivée partielle constante du composant u de coordonnées de texture par rapport à la coordonnée x de l’espace écran. ddy(u) est la dérivée partielle de la coordonnée u de texture par rapport à la coordonnée y de l’espace écran. De même, ddx(v) et ddy(v) sont les dérivés d’espace d’écran correspondants pour le composant vde coordonnées de texture .

Notes

HLSL contient les instructions ddx et ddy pour calculer ces valeurs, mais ces instructions ne sont pas disponibles sur tout le matériel PixelShader 2.0.

Vous pouvez penser à ces constantes de la manière suivante. Si vous effectuez une étape de 1 pixel à droite dans l’espace de l’écran (dans la direction x), ddx(u) il s’agit de la quantité qui u change dans l’espace de texture et ddx(v) de la quantité qui v change dans l’espace de texture. Si l’effet est aligné sur l’axe lorsqu’il est rendu, la ddx(v) valeur est 0. Si l’effet est pivoté lorsqu’il est rendu, il ddx(v) n’est pas égal à zéro.

S’applique à

Voir aussi