DDS_HEADER_DXT10 结构
用于处理资源数组的 DDS 标头扩展、不映射到旧版 Microsoft DirectDraw 像素格式结构的 DXGI 像素格式以及其他元数据。
语法
typedef struct {
DXGI_FORMAT dxgiFormat;
D3D10_RESOURCE_DIMENSION resourceDimension;
UINT miscFlag;
UINT arraySize;
UINT miscFlags2;
} DDS_HEADER_DXT10;
成员
-
dxgiFormat
-
类型: DXGI_FORMAT
-
图面像素格式 (看到 DXGI_FORMAT) 。
-
resourceDimension
-
标识资源的类型。 此成员的以下值是 D3D10_RESOURCE_DIMENSION 或 D3D11_RESOURCE_DIMENSION 枚举中的值的子集:
类型 说明 值 DDS_DIMENSION_TEXTURE1D (D3D10_RESOURCE_DIMENSION_TEXTURE1D) 资源是 一维纹理。 DDS_HEADER 的 dwWidth 成员指定纹理的大小。 通常,将 DDS_HEADER 的 dwHeight 成员设置为 1;还必须在 DDS_HEADER 的 dwFlags 成员中设置DDSD_HEIGHT标志。 2 DDS_DIMENSION_TEXTURE2D (D3D10_RESOURCE_DIMENSION_TEXTURE2D) 资源是一个 2D 纹理,其区域由DDS_HEADER的 dwWidth 和 dwHeight 成员指定。 还可以使用此类型来标识立方体贴图纹理。 有关如何识别多维数据集贴图纹理的详细信息,请参阅 miscFlag 和 arraySize 成员。 3 DDS_DIMENSION_TEXTURE3D (D3D10_RESOURCE_DIMENSION_TEXTURE3D) 资源是一种 3D 纹理,其卷由DDS_HEADER的 dwWidth、dwHeight 和 dwDepth 成员指定。 还必须在 DDS_HEADER 的 dwFlags 成员中设置 DDSD_DEPTH标志。 4 -
miscFlag
-
类型: UINT
-
标识资源的其他不太常见的选项。 此成员的以下值是 D3D10_RESOURCE_MISC_FLAG 或 D3D11_RESOURCE_MISC_FLAG 枚举中的值的子集:
类型 说明 值 DDS_RESOURCE_MISC_TEXTURECUBE 指示 2D 纹理 是立方体贴图纹理。 0x4 -
arraySize
-
类型: UINT
-
数组中的元素数。
对于也是多维数据集贴 图纹理的 2D 纹理,此数字表示多维数据集的数量。 此数字与 D3D10_TEXCUBE_ARRAY_SRV1 或D3D11_TEXCUBE_ARRAY_SRV) 的 NumCubes 成员中的数字相同。 在这种情况下,DDS 文件包含 arraySize*6 2D 纹理。 有关此情况的详细信息,请参阅 miscFlag 说明。
对于 3D 纹理,必须将此数字设置为 1。
-
miscFlags2
-
类型: UINT
-
包含以前保留) (的其他元数据。 较低的 3 位表示关联资源的 alpha 模式。 保留上限 29 位,通常为 0。
类型 说明 值 DDS_ALPHA_MODE_UNKNOWN Alpha 通道内容未知。 这是旧文件的值,通常假定为“直接”alpha。 0x0 DDS_ALPHA_MODE_STRAIGHT 任何 alpha 通道内容都假定使用直接 alpha。 0x1 DDS_ALPHA_MODE_PREMULTIPLIED 任何 alpha 通道内容都使用预乘 alpha。 指示此信息的唯一旧文件格式是“DX2”和“DX4”。 0x2 DDS_ALPHA_MODE_OPAQUE 任何 alpha 通道内容都设置为完全不透明。 0x3 DDS_ALPHA_MODE_CUSTOM 任何 alpha 通道内容都用作第 4 个通道,不用于表示直接或预乘) (透明度。 0x4 注意
旧版 D3DX 10 和 D3DX 11 实用工具库将无法加载任何 。 miscFlags2 不等于零的 DDS 文件。
备注
将此结构与 DDS_HEADER 一起使用,将资源数组存储在 DDS 文件中。 有关详细信息,请参阅 纹理数组。
如果DDS_PIXELFORMAT结构的 dwFourCC 成员设置为“DX10”,则存在此标头。
要求
要求 | 值 |
---|---|
标头 |
|