gpt4 book ai didi

c++ - ASSIMP 不加载纹理 - Qt 中的 OpenGL

转载 作者:行者123 更新时间:2023-11-28 03:43:39 24 4
gpt4 key购买 nike

我运行了 sample code在 ASSIMP 站点中给出,加载示例 DAE 模型(鸭子)的修改较少。但它不会加载其纹理。这是在 Visual C++ 2008 中测试的

enter image description here

代码:http://pastebin.com/LsYkzANb


但我希望它能在 Qt 上运行。所以我将这段代码转换为在 Qt 中工作。

这给了我以下输出。它看起来是白色的,仍然没有纹理。

enter image description here

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


注意:在 Qt 中,glutSwapBuffers()、QGLWidget::swapBuffers() 的等价物创建了闪烁效果,我删除了该行。


我使用从 google sketchup 3D 商店下载的 DAE (Collada) 模型进行了测试。这显示了颜色,但 Material 看起来有些透明! (浅棕色区域也显示其背后的色带)

Light brown area shows the color bands behind it as well

请看一遍上面的代码,我已经尽量简化了。

最佳答案

But it doesn't load with its texture.

网格没有纹理。网格可以有纹理坐标,但它们在网格文件本身中没有纹理。由于您不加载纹理或绑定(bind)任何纹理,因此纹理不会神奇地自行出现。

Asset Importer 只是一个网格加载器。它不加载纹理。

This gave me the following output.

看来你的缠绕顺序是错误的。您可以根据网格属性打开面部剔除,但除此之外您什么也做不了。您不检查缠绕顺序是什么(假设 Asset Importer 知道缠绕顺序)。

关于c++ - ASSIMP 不加载纹理 - Qt 中的 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com