DDS 卷纹理示例

对于卷纹理,请使用 DDSCAPS_COMPLEXDDSCAPS2_VOLUMEDDSD_DEPTH 标志,并设置 dwDepth。 卷纹理是 Direct3D 9 的标准纹理的扩展;可以使用或不使用 mipmap 定义卷纹理。

对于没有 mipmap 的卷,每个深度切片将按顺序写入文件。 如果包含 mipmap,则给定 mipmap 级别的所有深度切片将一起写入,每个级别包含上一个级别至少为 1 的切片数。

例如,使用 R8G8B8(每个像素 3 个字节)的像素格式的 64 by-64-by-4 卷映射将包含以下内容:

DDS 组件 # 字节数
页眉 128 字节
64 by-64 切片 1(共 4 个主图像)。 12288 字节
64 by-64 切片 2(共 4 个主图像)。 12288 字节
64 by-64 切片 3(共 4 张主图像)。 12288 字节
64 by-64 切片 4(共 4 个主图像)。 12288 字节
32 by-32 切片 1(共 2 张 mipmap 图像)。 3072 字节
32 by-32 切片 2(共 2 个 mipmap 图像)。 3072 字节
16 by-16 切片 1(共 1 个 mipmap 图像)。 768 字节
8 by-8 切片 1(共 1 个 mipmap 图像)。 192 字节
4 到 4 切片 1(共 1 个 mipmap 图像)。 48 字节
2 到 2 切片 1(共 1 个 mipmap 图像)。 12 字节
1-by-1 切片 1(共 1 个 mipmap 图像)。 3 个字节

 

请注意,最小 mipmap 级别只有 3 个字节,因为位计数为 24,并且此级别没有添加压缩。

DirectX 8 中添加了对卷纹理的支持。

DDS 编程指南