介绍Direct3D11中的纹理(十九)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyafang123/article/details/89638886

纹理资源是存储纹素的集合。一个纹素代表最小的纹理单元,可以被管道读或者写。与缓冲区不同,纹理可以通过纹理采样器过滤,因为它们是由着色器单元读取的。纹理的类型影响如何过滤纹理。每个纹素包含1到4个组件,以DXGI_FORMAT枚举定义的DXGI格式之一排列。

纹理是作为一个已知大小的结构化资源创建的。但是,在创建资源时,就可以对每个纹理进行类型化或无类型化,只要在纹理绑定到管道时使用视图完全指定了类型.

纹理类型

有几种类型的纹理:1D、2D、3D,每一种都可以使用或不使用mipmaps创建。Direct3D 11还支持纹理数组和多采样纹理。

  • 1D 纹理
  • 1D 纹理数组
  • 2D 纹理和2D纹理数组
  • 3D 纹理

1D 纹理

最简单的一维纹理包含可以用单个纹理坐标处理的纹理数据;它可以被可视化为一个纹素数组,如下图所示。一维纹理由ID3D11Texture1D接口表示。

根据存储数据的格式,每个纹素包含许多组件。添加更多的复杂性,您可以使用mipmap级别创建一维纹理,如下图所示

mipmap级别是比它上面的级别小2的幂的纹理。最顶层包含最详细的信息,每个后续级别都更小。对于一维mipmap,最小的级别包含一个纹素。最顶层包含的细节最多,每一个后续的层都更小。对于一维mipmap,最小的级别包含一个纹素。 此外,MIP级别总是降低到1:1。

猜你喜欢

转载自blog.csdn.net/xiaoyafang123/article/details/89638886