SampleGrad (DirectX HLSL テクスチャ オブジェクト)
グラデーションを使用してテクスチャをサンプリングし、サンプルの位置の計算方法に影響を与えます。
<Template Type> Object.SampleGrad( sampler_state S, float Location, float DDX, float DDY [, int Offset] );
パラメーター
Item | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
オブジェクト |
任意のテクスチャ オブジェクト型 (Texture2DMS と Texture2DMSArray を除く)。 |
||||||||||||
S |
[入力] サンプラーの状態。 これは、状態の割り当てを含む効果ファイルで宣言されたオブジェクトです。 |
||||||||||||
場所 |
[入力]テクスチャ座標。 引数の型は、テクスチャ オブジェクト型に依存します。
|
||||||||||||
Ddx |
[入力]x 方向のサーフェス ジオメトリの変化率。 引数の型は、テクスチャ オブジェクト型に依存します。
|
||||||||||||
DDY |
[入力]y 方向のサーフェス ジオメトリの変化率。 引数の型は、テクスチャ オブジェクト型に依存します。
|
||||||||||||
オフセット |
[入力]任意のテクスチャ座標オフセット。任意のテクスチャ オブジェクト型に使用できます。 オフセットは、サンプリング前の場所に適用されます。 整数 miplevel でのみオフセットを使用します。そうしないと、ハードウェアにうまく変換されない結果が得られる可能性があります。 引数の型は、テクスチャ オブジェクト型に依存します。 詳細については、「整数オフセットの適用」を参照してください。
|
戻り値
テクスチャのテンプレートの種類。単一または複数コンポーネントのベクターである可能性があります。 この形式は、テクスチャの 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);
...
}