SampleGrad (DirectX HLSL 紋理物件)
使用漸層取樣紋理,以影響取樣位置的計算方式。
<範本類型 > Object.SampleGrad ( sampler_state S, float Location, float DDX, float DDY [, int Offset] ) ;
參數
項目 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
物件 |
Texture2DMS 和 Texture2DMSArray 以外的任何 紋理物件 類型 () 。 |
||||||||||||
S |
[in] 取樣器狀態。 這是在包含狀態指派的效果檔案中宣告的物件。 |
||||||||||||
位置 |
[in]紋理座標。 引數類型相依于紋理物件類型。
|
||||||||||||
DDX |
[in]以 x 方向變更表面幾何的速率。 引數類型相依于紋理物件類型。
|
||||||||||||
DDY |
[in]以 Y 方向變更表面幾何的速率。 引數類型相依于紋理物件類型。
|
||||||||||||
抵消 |
[in]選擇性紋理座標位移,可用於任何紋理物件類型。 位移會套用至取樣之前的位置。 只在整數位移處使用位移;否則,您可能會得到無法正確轉譯為硬體的結果。 引數類型相依于紋理物件類型。 如需詳細資訊,請參閱套用整數位移。
|
傳回值
紋理的範本類型,可能是單一或多元件向量。 格式是以紋理 的DXGI_FORMAT為基礎。
最小著色器模型
下列著色器模型中支援此函式。
vs_4_0 | vs_4_1 | ps_4_0 | ps_4_1 | gs_4_0 | gs_4_1 |
---|---|---|---|---|---|
x | x | x | x | x | x |
- TextureCubeArray 可在著色器模型 4.1 或更高版本中使用。
- 著色器模型 4.1 可在 Direct3D 10.1 或更高版本中使用。
範例
此部分程式碼範例來自 MotionBlur10 範例中的 MotionBlur.fx檔案。
// Object Declarations
Texture2D g_txDiffuse;
SamplerState g_samLinear
{
Filter = ANISOTROPIC;
MaxAnisotropy = 8;
AddressU = Wrap;
AddressV = Wrap;
};
struct VSSceneOut
{
float4 Pos : SV_POSITION;
float4 Color : COLOR0;
float2 Tex : TEXCOORD;
float2 Aniso : ANISOTROPY;
};
float4 PSSceneMain( VSSceneOut Input ) : SV_TARGET
{
float2 ddx = Input.Aniso;
float2 ddy = Input.Aniso;
// Shader body calling the intrinsic function
float4 diff = g_txDiffuse.SampleGrad( g_samLinear, Input.Tex, ddx, ddy);
...
}