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 |
[入力] サンプラーの状態。 これは、状態の割り当てを含む効果ファイルで宣言されたオブジェクトです。 |
||||||||||
場所 |
[入力]テクスチャ座標。 引数の型は、テクスチャ オブジェクト型に依存します。
テクスチャ オブジェクトが配列の場合、最後のコンポーネントは配列インデックスです。 |
||||||||||
Lod |
[入力]ミップマップ レベルを指定する数値。 値が = 0 の場合は、0 番目 (最大のマップ) が使用されます。 小数部の値 (指定されている場合) は、2 つのミップマップ レベル間の補間に使用されます。 |
||||||||||
オフセット |
[入力]任意のテクスチャ座標オフセット。任意のテクスチャ オブジェクト型に使用できます。オフセットはサンプリング前の場所に適用されます。 テクスチャ オフセットは静的である必要があります。 引数の型は、テクスチャ オブジェクト型に依存します。 詳細については、「 テクスチャ座標オフセットの適用」を参照してください。
|
戻り値
テクスチャのテンプレートの種類。単一または複数コンポーネントのベクターである可能性があります。 この形式は、テクスチャの 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 |
- TextureCubeArray は、シェーダー モデル 4.1 以降で使用できます。
- シェーダー モデル 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 );
...