纹理类型

使用以下语法声明纹理变量。

类型名称;

参数

说明
类型
以下类型之一:纹理 (非类型化,以实现向后兼容性,) 、Texture1D、Texture1DArray、Texture2DArray、Texture3D、TextureCube。 元素大小必须适合 4 个 32 位数量。
名字
唯一标识变量名称的 ASCII 字符串。

备注

使用纹理有三个部分。

  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)