次の方法で共有


テクスチャの種類

テクスチャ変数を宣言するには、次の構文を使用します。

型名;

パラメーター

項目 説明

テクスチャ (下位互換性のために型指定されていない)、Texture1D、Texture1DArray、Texture2D、Texture2DArray、Texture3D、TextureCube のいずれか。 要素のサイズは、4 32 ビットの数量に収まる必要があります。
名前
変数名を一意に識別する ASCII 文字列。

解説

テクスチャを使用するには、3 つの部分があります。

  1. テクスチャ変数の宣言。 これは、上記の構文で行われます。 たとえば、これらは有効な宣言です。

    texture g_MeshTexture;
    

    - または -

    Texture2D g_MeshTexture;
    
  2. サンプラー オブジェクトの宣言と初期化。 これは、Direct3D 9 と Direct3D 10 では若干異なる構文で行われます。 サンプラー オブジェクトの構文の詳細については、「 サンプラーの種類 (DirectX HLSL)」を参照してください。

  3. シェーダーでのテクスチャ関数の呼び出し。

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;

関連項目

データ型 (DirectX HLSL)