共用方式為


ShaderEffect.DdxUvDdyUvRegisterIndex 屬性

定義

取得或設定值,這個值表示相對於螢幕空間之紋理座標的部分衍生項目所使用的著色器暫存器。

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

屬性值

Int32

包含部分衍生項目之暫存器的索引。

例外狀況

當嘗試設定 DdxUvDdyUvRegisterIndex 屬性超過一次以上,或是在一開始處理效果之後。

備註

DdxUvDdyUvRegisterIndex使用 屬性來指定著色器暫存器,其中包含與螢幕空間相關的紋理座標部分衍生專案。 例如,如果 DdxUvDdyUvRegisterIndex 設定為 4,則會使用著色器暫存器 c4。 註冊 c4 包含四個浮點數欄位。 下列高階網底語言 (HLSL) 程式碼示範如何使用此暫存器。 值 nextPixelUV 代表右邊的下一個圖元。

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

tex2D(sampler, nextPixelUV);  

下表顯示如何填入指定的 DdxUvDdyUvRegisterIndex 暫存器。

暫存器常數 衍生值
x 元件 ddx (u)
y 元件 ddx (v)
z 元件 ddy (u)
w 元件 ddy (v)

紋理座標會表示為 (u, v)ddx(u) 是紋理座標元件 u 相對於螢幕空間 x 座標的常數部分衍生。 ddy(u) 是與螢幕空間 Y 座標相關的紋理座標 u 部分衍生。 同樣地, ddx(v)ddy(v) 是紋理座標元件的對應螢幕空間衍生專案 v

注意

HLSL 具有 ddx 和 ddy 指示來計算這些值,但這些指示不適用於所有 PixelShader 2.0 硬體。

您可以透過下列方式來思考這些常數。 如果您在螢幕空間右側步驟 1 圖元, (x 方向) ,則 ddx(u) 為紋理空間中變更的數量 u ,而且 ddx(v) 是紋理空間中變更的數量 v 。 如果效果在轉譯時對齊座標軸,則 ddx(v) 為 0。 如果效果在轉譯時旋轉,則 ddx(v) 為非零。

適用於

另請參閱