2011-12-05 81 views
0

我運行了ASSIMP站點中給出的sample code,加載樣本DAE模型(鴨子)的修改較少。但它不會加載其紋理。這是在Visual C++ 2008ASSIMP未加載紋理 - Qt中的OpenGL

enter image description here

代碼進行測試:http://pastebin.com/LsYkzANb


但我想這是對Qt的工作。所以我將這些代碼轉換爲Qt。

這給了我以下輸出。它看起來是白色的,仍然沒有紋理。

enter image description here

代碼:http://pastebin.com/dkMKDmV2


:在Qt,等效爲glutSwapBuffers(),QGLWidget來繪圖:: swapBuffers()創建的閃爍效應,並予刪除該行。


我測試了從谷歌sketchup 3D商店的DAE(Collada)模型下載。這顯示顏色,但材料看起來有點透明! (淺棕色區域顯示的顏色帶它後面還有)

Light brown area shows the color bands behind it as well

請還跟經過上面的代碼,我已經將它簡化爲最大。

回答

2

但它沒有加載它的紋理。

網格物體沒有紋理。網格可以具有紋理座標,但它們在網格文件本身中沒有紋理。既然你不加載紋理或綁定一個或任何東西,紋理本身不會神奇地出現。

資產進口商只是一個網狀裝載機。它不加載紋理。

這給了我以下輸出。

看起來你的纏繞順序是錯誤的。你打開基於網格屬性的面部剔除,但你永遠不會做任何事情。您不檢查纏繞訂單是什麼(假設資產進口商知道纏繞訂單)。

+0

感謝您的輸入。我會對此做一些研究。 :-) – coder9