Share via


Gather (DirectX HLSL テクスチャ オブジェクト)

テクスチャのサンプリング時にバイリニア補間に使用される 4 つのサンプル (赤のコンポーネントのみ) を取得します。

<テンプレート タイプ>4 Object.Gather( sampler_state S, float2|3|4 Location [, int2 Offset] );

パラメーター

Item 説明
オブジェクト
Texture2D、Texture2DArray、TextureCube、TextureCubeArray のテクスチャ オブジェクトの種類がサポートされています。
S
[入力] サンプラーの状態。 これは、状態の割り当てを含む効果ファイルで宣言されたオブジェクトです。
場所
[入力]テクスチャ座標。 引数の型は、texture-object 型に依存します。
Texture-Objectの種類 パラメーターの型
Texture2D float2
Texture2DArray、TextureCube float3
TextureCubeArray float4

オフセット

[入力]任意のテクスチャ座標オフセット。任意のテクスチャ オブジェクト型に使用できます。オフセットはサンプリング前の位置に適用されます。 引数の型は、texture-object 型に依存します。 シェーダー モデル 5.0 以降を対象とするシェーダーの場合、各オフセット値の下位 6 ビットが符号付き値として受け入れられ、[-32..31] 範囲が生成されます。 以前のシェーダー モデル シェーダーの場合、オフセットは -8 から 7 の間の即時整数である必要があります。

Texture-Objectの種類 パラメーターの型
Texture2D、Texture2DArray int2
TextureCube、TextureCubeArray サポート対象外

戻り値

赤いデータの 4 つのコンポーネントを含む 4 成分ベクトル。その型はテクスチャのテンプレート型と同じです。

最小シェーダー モデル

この関数は、次のシェーダー モデルでサポートされています。

vs_4_0 vs_4_1 ps_4_0 ps_4_1 gs_4_0 gs_4_1
x x x
  1. TextureCubeArray はシェーダー モデル 4.1 以降で使用できます。
  2. シェーダー モデル 4.1 は、Direct3D 10.1 以降で使用できます。

Texture2D<int1> Tex2d;
Texture2DArray<int2> Tex2dArray;
TextureCube<int3> TexCube;
TextureCubeArray<float2> TexCubeArray;

SamplerState s;

int4 main (float4 f : SV_Position) : SV_Target
{
    int2 iOffset = int2(2,3);

    int4 i1 = Tex2d.Gather(s, f.xy);
    int4 i2 = Tex2d.Gather(s, f.xy, iOffset);

    int4 i3 = Tex2dArray.Gather(s, f.xyz);
    int4 i4 = Tex2dArray.Gather(s, f.xyz, iOffset);

    int4 i5 = TexCube.Gather(s, f.xyzw);

    float4 f6 = TexCubeArray.Gather(s, f.xyzw);

    return i1+i2+i3+i4+i5+int4(f6);
}
  

Texture-Object