Load (DirectX HLSL テクスチャ オブジェクト)
フィルター処理やサンプリングを行わずにテクセル データを読み取ります。
ret Object.Load(
[typeX SampleIndex, ] [typeX Offset ] |
typeX は、int、int2、int3、int4 の 4 つの型が考えられることを示します。
パラメーター
-
オブジェクト
-
テクスチャ オブジェクト型 (TextureCube または TextureCubeArray を除く)。
-
場所
-
[入力]テクスチャ座標。最後のコンポーネントはミップマップ レベルを指定します。 このメソッドは、0.0 から 1.0 の UV システムではなく、0 から始まる座標系を使用します。 引数の型は、テクスチャ オブジェクト型に依存します。
オブジェクトの型 パラメーターの型 バッファー INT Texture1D、Texture2DMS int2 Texture1DArray、Texture2D、Texture2DMSArray int3 Texture2DArray、Texture3D int4 たとえば、2D テクスチャにアクセスするには、最初の 2 つのコンポーネントの整数テクセル座標と、3 番目のコンポーネントのミップマップ レベルを指定します。
注意
Location の 1 つ以上の座標がテクスチャの u、v、または w ミップマップ レベルのディメンションを超えると、Load はすべてのコンポーネントで 0 を返します。 Direct3D では、範囲外でアクセスされるすべてのリソースに対して 0 が返されます。
-
SampleIndex
-
[入力]サンプリング インデックス。 マルチサンプル テクスチャに必要です。 他のテクスチャではサポートされていません。
テクスチャの種類 パラメーターの型 Texture1D、Texture1DArray、Texture2D、Texture2DArray、Texture3D、Texture2DArray、TextureCube、TextureCubeArray サポート対象外 Texture2DMS、Texture2DMSArray¹ INT -
オフセット
-
[入力]サンプリング前にテクスチャ座標に適用される省略可能なオフセット。 オフセット型はテクスチャ オブジェクト型に依存し、静的である必要があります。
テクスチャの種類 パラメーターの型 Texture1D、Texture1DArray INT Texture2D、Texture2DArray、Texture2DMS、Texture2DMSArray int2 Texture3D int3 注意
SampleIndex は、常にマルチサンプル テクスチャで最初に指定する必要があります。
戻り値
戻り値の型は、 Object 宣言の型と一致します。 たとえば、"Texture2d uint4> myTexture;" として宣言された Texture2D<オブジェクトの戻り値は uint4 型です。
最小シェーダー モデル
この関数は、次のシェーダー モデルでサポートされています。
vs_4_0 | vs_4_1¹ | ps_4_0 | ps_4_1¹ | gs_4_0 | gs_4_1¹ |
---|---|---|---|---|---|
x | x | x | x | x | x |
- シェーダー モデル 4.1 は、Direct3D 10.1 以降で使用できます。
例
この部分コード例は、 AdvancedParticles サンプルの Paint.fx ファイルのものです。
// Object Declarations
Buffer<float4> g_ParticleBuffer;
// Shader body calling the intrinsic function
float4 PSPaint(PSQuadIn input) : SV_Target
{
...
for( int i=g_ParticleStart; i<g_NumParticles; i+=g_ParticleStep )
{
...
// load the particle
float4 particlePos = g_ParticleBuffer.Load( i*4 );
float4 particleColor = g_ParticleBuffer.Load( (i*4) + 2 );
...
}
...
}
関連トピック