我需要在我的QGLWidget(Qt OpenGL小部件)中加载3D模型(.3ds文件)。 我正在寻找在Linux,Windows和Mac下运行的跨平台解决方案。
我在网上找到了一些解决方案,但仍然无法在我的Qt应用程序中集成任何解决方案:
Assimp:它不是跨平台的,不支持.3ds模型 (http://assimp.sourceforge.net/)
Qt3D:它是跨平台的,并且看起来是OpenGL小部件的正确选择。不幸的是,我仍然没有找到使用它的方法。 (https://github.com/qtproject/qt3d)
Qt Quick:它使用QML文件而不是QT小部件。
3ds Loader:http://www.spacesimulator.net/wiki/index.php?title=Tutorials:3ds_Loader
有什么建议吗?
答案 0 :(得分:4)
您可以使用Qt3D。它为Qt Quick的跨平台功能添加了3D内容。应用程序可以是具有少量简单3D内容的2D QML应用程序;通过复杂的3D场景,包含3D资源 - 例如复杂的3D模型和着色器效果。
Qt3D支持Qt / C ++和Qt Quick应用程序中的2D和3D渲染。
您还可以使用Qt3D以3D Studio Max(3DS)格式或其他标准格式(如obj)加载模型对象和透视摄影机视图。
有一些很好的教程和示例here。
答案 1 :(得分:2)
Assimp是用C ++编写的,并在包括Qt项目本身在内的多个项目中使用跨平台。
.3ds
格式似乎最终会得到支持,除非您使用的是未添加的旧版本。有关它的更多详细信息,请参阅文档:
请注意顶部的以下条目: