2011-12-05 172 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