Aracılığıyla paylaş


ShaderEffect.DdxUvDdyUvRegisterIndex Özellik

Tanım

Ekran alanına göre doku koordinatlarının kısmi türevleri için kullanılacak gölgelendirici yazmacı belirten bir değer alır veya ayarlar.

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

Özellik Değeri

Int32

Kısmi türevleri içeren yazmaç dizini.

Özel durumlar

Özelliği birden fazla kez veya etkinin DdxUvDdyUvRegisterIndex ilk işlenmesinden sonra ayarlama girişiminde bulunuldu.

Açıklamalar

DdxUvDdyUvRegisterIndex Ekran alanına göre doku koordinatlarının kısmi türevlerini içeren gölgelendirici yazmacı belirtmek için özelliğini kullanın. Örneğin, 4 olarak ayarlanırsa DdxUvDdyUvRegisterIndex gölgelendirici yazmacı c4 kullanılır. C4 kaydı dört kayan alan içerir. Aşağıdaki Üst Düzey Gölgelendirme Dili (HLSL) kodu bu yazmaçların nasıl kullanıldığını gösterir. Değer nextPixelUV , sağda bir sonraki pikseli temsil eder.

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

tex2D(sampler, nextPixelUV);  

Aşağıdaki tabloda, için DdxUvDdyUvRegisterIndex belirtilen yazmaç nasıl doldurulduğu gösterilmektedir.

Yazma Sabiti Türev Değer
x bileşeni ddx(u)
y bileşeni ddx(v)
z bileşeni ddy(u)
w bileşeni ddy(v)

Doku koordinatları olarak (u, v)belirtilir. ddx(u) , doku koordinat bileşeninin u ekran boşluğu x koordinatı açısından sabit kısmi türevidir. ddy(u) , doku koordinatının ekran alanı y koordinatı u açısından kısmi türevidir. Benzer şekilde ve ddx(v) ddy(v) doku koordinat bileşeni viçin karşılık gelen ekran alanı türevleridir.

Not

HLSL bu değerleri hesaplamak için ddx ve ddy yönergelerine sahiptir, ancak bu yönergeler tüm PixelShader 2.0 donanımlarında kullanılamaz.

Bu sabitleri aşağıdaki şekilde düşünebilirsiniz. Ekran alanında (x yönünde) sağa doğru 1 piksellik bir adımla ilerlerseniz, ddx(u) doku alanında değişen miktar u ve ddx(v) doku alanında değişen miktardır v . Efekt işlendiğinde eksene hizalıysa, ddx(v) 0 olur. Efekt işlendiğinde döndürülürse sıfır ddx(v) değildir.

Şunlara uygulanır

Ayrıca bkz.