次の方法で共有


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

4 つのサンプルを取得します (赤の成分のみ)。取得したサンプルは、テクスチャーのサンプリング時のバイリニア補間に使用されます。

<テンプレート型>4 Object.Gather(

sampler_state S,

float2|3|4 Location

[, int2 Offset]

);

パラメーター

  • Object
    次のテクスチャー オブジェクト型がサポートされています。Texture2D、Texture2DArray、TextureCube、TextureCubeArray。

  • S
    [in] サンプラ ステート。これは、ステート割り当てを含むエフェクト ファイルで宣言されたオブジェクトです。

  • Location
    [in] テクスチャー座標。引数の型は、テクスチャー オブジェクトの型によって異なります。

    テクスチャー オブジェクト型 パラメーター型
    Texture2D float2
    Texture2DArray、TextureCube float3
    TextureCubeArray1 float4
  • Offset
    [in] テクスチャー座標のオフセット (省略可能)。すべてのテクスチャー オブジェクト型で使用できます。オフセットは、サンプリング前にその場所に適用されます。引数の型は、テクスチャー オブジェクトの型によって異なります。(「テクスチャー座標に対するオフセットの適用」を参照)。

    テクスチャー オブジェクト型 パラメーター型
    Texture2D、Texture2DArray int2
    TextureCube、TextureCubeArray1 サポートなし

戻り値

4 要素のベクトルであり、赤データの 4 つの要素を含んでおり、これらの型はテクスチャーのテンプレート型と同じです。

最低限必要なシェーダー モデル

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

vs_4_0 vs_4_12 ps_4_0 ps_4_12 gs_4_0 gs_4_12
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(i6); }    

関連項目

テクスチャー オブジェクト