D3D11_TEXTURE2D_DESC 结构 (d3d11.h)

描述 2D 纹理。

语法

typedef struct D3D11_TEXTURE2D_DESC {
  UINT             Width;
  UINT             Height;
  UINT             MipLevels;
  UINT             ArraySize;
  DXGI_FORMAT      Format;
  DXGI_SAMPLE_DESC SampleDesc;
  D3D11_USAGE      Usage;
  UINT             BindFlags;
  UINT             CPUAccessFlags;
  UINT             MiscFlags;
} D3D11_TEXTURE2D_DESC;

成员

Width

类型: UINT

纹理宽度 (纹素) 。 范围为 1 到 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) 。 对于纹理立方体贴图,范围为 1 到 D3D11_REQ_TEXTURECUBE_DIMENSION (16384) 。 但是,该范围实际上受创建呈现设备 的功能级别 的约束。 有关限制的详细信息,请参阅备注。

Height

类型: UINT

纹素) 中的纹理高度 (。 范围为 1 到 D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) 。 对于纹理立方体贴图,范围为 1 到 D3D11_REQ_TEXTURECUBE_DIMENSION (16384) 。 但是,该范围实际上受创建呈现设备 的功能级别 的约束。 有关限制的详细信息,请参阅备注。

MipLevels

类型: UINT

纹理中的最大 mipmap 级别数。 请参阅 D3D11_TEX1D_SRV中的备注。 对多重采样纹理使用 1;或 0 生成一组完整的子文本。

ArraySize

类型: UINT

纹理数组中的纹理数。 范围为 1 到 D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048) 。 对于纹理立方体贴图,此值是 6 (的倍数,即 D3D11_TEXCUBE_ARRAY_SRV) 的 NumCubes 成员中的值的 6 倍,范围为 6 到 2046。 范围实际上受创建呈现设备 的功能级别 的约束。 有关限制的详细信息,请参阅备注。

Format

类型: DXGI_FORMAT

纹理格式 (请参阅 DXGI_FORMAT) 。

SampleDesc

类型: DXGI_SAMPLE_DESC

为纹理指定多重采样参数的结构。 请参阅 DXGI_SAMPLE_DESC

Usage

类型: D3D11_USAGE

一个值,该值标识如何读取和写入纹理。 最常见的值是D3D11_USAGE_DEFAULT;有关所有可能的值 ,请参阅D3D11_USAGE

BindFlags

类型: UINT

标志 (请参阅绑定到管道阶段 D3D11_BIND_FLAG) 。 标志可以按位 OR 组合。

CPUAccessFlags

类型: UINT

(D3D11_CPU_ACCESS_FLAG) 来指定允许的 CPU 访问类型的标志。 如果不需要 CPU 访问,请使用 0。 这些标志可以与按位 OR 组合使用。

MiscFlags

类型: UINT

标志 (查看 D3D11_RESOURCE_MISC_FLAG 标识其他不太常见的资源选项的) 。 如果这些标志均不适用,请使用 0。 可以使用按位 OR 组合这些标志。 对于纹理立方体贴图,请设置 D3D11_RESOURCE_MISC_TEXTURECUBE 标志。 多维数据集映射数组 (即 ArraySize> 6) 需要 特征级别D3D_FEATURE_LEVEL_10_1 或更高。

注解

此结构用于调用 ID3D11Device::CreateTexture2D

除了此结构之外,还可以使用 CD3D11_TEXTURE2D_DESC 派生结构(在 D3D11.h 中定义,其行为类似于继承的类)来帮助创建纹理说明。

设备存在一些大小限制, (必须为子采样、块压缩或位格式资源的最小大小) 的倍数。

纹理大小范围取决于创建设备 的功能级别 ,而不是 Microsoft Direct3D 接口版本。 例如,如果使用功能级别为 10 的 Microsoft Direct3D 10 硬件 (D3D_FEATURE_LEVEL_10_0) 并调用 D3D11CreateDevice 来创建 ID3D11Device,则必须在创建 2D 纹理时将最大纹理大小限制为 D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192) 。

要求

要求
Header d3d11.h

另请参阅

资源结构