2011-09-27 71 views
0

我只获取立方体贴图中的第一张脸。我如何访问/加载其他的?使用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,如果这样做会有所不同的话)。

+0

您是否检查过文档和/或源代码?我的猜测是,它不太可能被支持(想要加载立方体贴图DDS文件的人通常希望将解压后的数据作为纹理数据直接上传 - 参见例如[here](http://stackoverflow.com/questions/577125)/DDS纹理加载))。 – user786653

+0

@ user786653:它可能已被支持,因为DevIL的要点是加载图像格式并获取“解压后的数据作为纹理数据直接上传”。它为mipmaped图像提供了条款,但不适用于立方体贴图。 –

回答

2

DevIL没有DDS Cubemap的规定。也没有令人惊讶的图像加载器数量。

+0

谢谢!自从有迹象表明,很容易被误导。那么,是否应该选择另一种图像格式或另一个加载器?在一个文件中收集面部似乎很方便。 – Deorbit

相关问题