描述 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 |