ShaderEffect.DdxUvDdyUvRegisterIndex Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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 v
iç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.