0

我只得到立方体贴图中的第一张脸。我如何访问/加载其他的?

在 Ubuntu Natty 上使用 DevIL 1.7.8:我使用 ilLoad 或 ilLoadImage 加载具有 6 个纹理的 dds 文件,但只加载了第一个面。ilGetInteger() 给出结果:

IL_IMAGE_DEPTH:1

IL_IMAGE_BYTES_PER_PIXEL:4

IL_NUM_LAYERS: 0

IL_NUM_IMAGES: 0

IL_IMAGE_TYPE: 5121 (= 0x1401, 甚至不是根据 il.h 的图像类型!)

IL_IMAGE_CUBEFLAGS:1024

IL_ACTIVE_IMAGE: 0

IL_IMAGE_SIZE_OF_DATA:65536(即 128x128x4 并匹配“图像大小(以像素为单位”)乘以“每像素字节数”。)

如果我尝试将 ilActiveImage 与 0 以外的值一起使用,它会返回 false。

我已经尝试了 RenderMonkey 示例纹理中的 Earth.dds 和 LightCube.dds,并使用 GIMP 保存了我自己的 dds 文件,但只有第一个面被加载。

有人有什么建议吗?(我已经用 ilu 和 ilut-support 编译了 DevIL,如果这有什么不同的话。)

4

1 回答 1

2

DevIL 没有针对 DDS Cubemaps 的规定。数量惊人的图像加载器也没有。

于 2011-09-27T19:38:05.197 回答