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 |
- TextureCubeArrayは、シェーダー モデル 4.1 以降で利用可能です。
- シェーダー モデル 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); }