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

ミップマップ レベルのオフセットを使用してテクスチャをサンプリングします。

<Template Type> Object.SampleLevel( sampler_state S, float Location, float LOD [, int Offset] );

この関数は サンプル に似ていますが、LOD レベル (location パラメーターの最後のコンポーネント) を使用してミップマップ レベルを選択する点が違います。 たとえば、2D テクスチャでは、uv 座標に最初の 2 つのコンポーネントを使用し、ミップマップ レベルに 3 番目のコンポーネントを使用します。

パラメーター

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

テクスチャ オブジェクトが配列の場合、最後のコンポーネントは配列インデックスです。

Lod

[入力]ミップマップ レベルを指定する数値。 値が = 0 の場合は、0 番目 (最大のマップ) が使用されます。 小数部の値 (指定されている場合) は、2 つのミップマップ レベル間の補間に使用されます。

オフセット

[入力]任意のテクスチャ座標オフセット。任意のテクスチャ オブジェクト型に使用できます。オフセットはサンプリング前の場所に適用されます。 テクスチャ オフセットは静的である必要があります。 引数の型は、テクスチャ オブジェクト型に依存します。 詳細については、「 テクスチャ座標オフセットの適用」を参照してください。

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

戻り値

テクスチャのテンプレートの種類。単一または複数コンポーネントのベクターである可能性があります。 この形式は、テクスチャの DXGI_FORMATに基づいています。

最小シェーダー モデル

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

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

この部分的なコード例は、Instancing10 サンプルの Instancing.fx ファイルのものです。

// Object Declarations
Texture1D g_txRandom;

SamplerState g_samPoint
{
    Filter = MIN_MAG_MIP_POINT;
    AddressU = Wrap;
    AddressV = Wrap;
};

    
// Shader body calling the intrinsic function
float3 RandomDir(float fOffset)
{   
    float tCoord = (fOffset) / 300.0;
    return g_txRandom.SampleLevel( g_samPoint, tCoord, 0 );
   ...

Texture-Object