テクスチャの種類
テクスチャ変数を宣言するには、次の構文を使用します。
型名; |
パラメーター
項目 | 説明 |
---|---|
型 |
テクスチャ (下位互換性のために型指定されていない)、Texture1D、Texture1DArray、Texture2D、Texture2DArray、Texture3D、TextureCube のいずれか。 要素のサイズは、4 32 ビットの数量に収まる必要があります。 |
名前 |
変数名を一意に識別する ASCII 文字列。 |
解説
テクスチャを使用するには、3 つの部分があります。
テクスチャ変数の宣言。 これは、上記の構文で行われます。 たとえば、これらは有効な宣言です。
texture g_MeshTexture;
- または -
Texture2D g_MeshTexture;
サンプラー オブジェクトの宣言と初期化。 これは、Direct3D 9 と Direct3D 10 では若干異なる構文で行われます。 サンプラー オブジェクトの構文の詳細については、「 サンプラーの種類 (DirectX HLSL)」を参照してください。
シェーダーでのテクスチャ関数の呼び出し。
Direct3D 9 と Direct3D 10 の違い:
Direct3D 9 では 、組み込みのテクスチャ関数 を使用してテクスチャ操作を実行します。 この例は BasicHLSL サンプル のものであり、テクスチャ サンプリングを実行するために tex2D(s, t) (DirectX HLSL) を使用します。
Output.RGBColor = tex2D(MeshTextureSampler, In.TextureUV) * In.Diffuse;
Direct3D 10 では、代わりに テンプレート化されたテクスチャ オブジェクトが使用されます 。 同等のテクスチャ操作の例を次に示します。
Output.RGBColor = g_MeshTexture.Sample(MeshTextureSampler, In.TextureUV) * In.Diffuse;