D3D11_TEXTURE3D_DESC1 结构 (d3d11_3.h)

描述 3D 纹理。

语法

typedef struct D3D11_TEXTURE3D_DESC1 {
  UINT                 Width;
  UINT                 Height;
  UINT                 Depth;
  UINT                 MipLevels;
  DXGI_FORMAT          Format;
  D3D11_USAGE          Usage;
  UINT                 BindFlags;
  UINT                 CPUAccessFlags;
  UINT                 MiscFlags;
  D3D11_TEXTURE_LAYOUT TextureLayout;
} D3D11_TEXTURE3D_DESC1;

成员

Width

纹理宽度 (纹素) 。 范围为 1 到 D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) 。 但是,该范围实际上受创建呈现设备 的功能级别 的约束。 有关限制的详细信息,请参阅备注。

Height

纹素) 中的纹理高度 (。 范围为 1 到 D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) 。 但是,该范围实际上受创建呈现设备 的功能级别 的约束。 有关限制的详细信息,请参阅备注。

Depth

纹素) 中的纹理深度 (。 范围为 1 到 D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) 。 但是,该范围实际上受创建呈现设备 的功能级别 的约束。 有关限制的详细信息,请参阅备注。

MipLevels

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

Format

纹理格式 (请参阅 DXGI_FORMAT) 。

Usage

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

BindFlags

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

CPUAccessFlags

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

MiscFlags

标志 (查看 D3D11_RESOURCE_MISC_FLAG 标识其他不太常见的资源选项的) 。 如果这些标志均不适用,请使用 0。 这些标志可以与按位 OR 组合使用。

TextureLayout

标识纹理布局 的D3D11_TEXTURE_LAYOUT类型的值。

TextureLayout 参数选择内存中纹理的实际布局,以及映射纹理时应用程序可见的布局。 如果没有 CPU 访问权限,则可能不会请求这些标志。

在默认纹理上设置 CPU 访问标志而不将 Layout 设置为除 D3D11_TEXTURE_LAYOUT_UNDEFINED 以外的值是非法的。

D3D11_TEXTURE_LAYOUT_ROW_MAJOR不能与 3D 纹理一起使用。 D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE不能用于具有 mipmap 的 3D 纹理。

注解

此结构用于调用 ID3D11Device3::CreateTexture3D1

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

设备将子采样、块压缩和位格式资源的大小限制为特定于每种格式的大小的倍数。

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

要求

要求
Header d3d11_3.h

另请参阅

资源结构