2011-09-27 67 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

相關問題