次の方法で共有


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

フィルター処理やサンプリングを行わずにテクセル データを読み取ります。

ret Object.Load(
typeX Location,
[typeX SampleIndex, ]
[typeX Offset ]
);

typeX は、int、int2、int3、int44 つの型が考えられることを示します。

 

パラメーター

オブジェクト

テクスチャ オブジェクト型 (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 );
        ...     
    }
    ...
}   

Texture-Object