我只获取立方体贴图中的第一张脸。我如何访问/加载其他的?使用DevIL在DDS文件中加载立方体贴图
在Ubuntu上使用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(=阿拉伯语 - 伊拉克,甚至没有一个图像类型根据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支持的DevIL,如果这样做会有所不同的话)。
您是否检查过文档和/或源代码?我的猜测是,它不太可能被支持(想要加载立方体贴图DDS文件的人通常希望将解压后的数据作为纹理数据直接上传 - 参见例如[here](http://stackoverflow.com/questions/577125)/DDS纹理加载))。 – user786653
@ user786653:它可能已被支持,因为DevIL的要点是加载图像格式并获取“解压后的数据作为纹理数据直接上传”。它为mipmaped图像提供了条款,但不适用于立方体贴图。 –