DDS 体积纹理示例
对于卷纹理,请使用 DDSCAPS_COMPLEX、 DDSCAPS2_VOLUME和 DDSD_DEPTH标志,并设置 dwDepth。 体积纹理是 Direct3D 9 的标准纹理的扩展;可以使用或不使用 mipmap 定义体积纹理。
对于没有 mipmap 的卷,每个深度切片将按顺序写入文件。 如果包含 mipmap,则给定 mipmap 级别的所有深度切片将一起写入,每个级别包含的切片数是上一个级别至少为 1 的一半。
例如,使用 R8G8B8 像素格式的 64 x 64 x 4 卷映射 (每个像素 3 个字节,) 所有 mipmap 级别将包含以下内容:
DDS 组件 | # 字节数 |
---|---|
标头的值开始缓存响应 | 128 字节 |
64 乘 64 切片 1,共 4 张main图像。 | 12288 字节 |
64 乘 64 切片 2,共 4 张main图像。 | 12288 字节 |
64 乘 64 切片 3,共 4 张main图像。 | 12288 字节 |
64 乘 64 切片 4/4 main图像。 | 12288 字节 |
2 个 mipmap 图像的 32 乘以 32 切片 1。 | 3072 字节 |
2 个 mipmap 图像的 32 by 32 切片 2。 | 3072 字节 |
16-by-16 切片 1,共 1 个 mipmap 图像。 | 768 字节 |
8-by-8 切片 1,共 1 个 mipmap 图像。 | 192 字节 |
1 个 mipmap 图像的 4 乘 4 切片 1。 | 48 字节 |
1 个 mipmap 图像的 2 乘 2 切片 1。 | 12 字节 |
1 个 mipmap 图像的 1 乘 1 切片。 | 3 个字节 |
请注意,最小的 mipmap 级别只有 3 个字节,因为位计数为 24,并且此级别没有添加压缩。
DirectX 8 中添加了对体积纹理的支持。
相关主题