5

我需要在我的 QGLWidget(Qt OpenGL 小部件)中加载一个 3D 模型(.3ds 文件)。我正在寻找在 Linux、Windows 和 Mac 下工作的跨平台解决方案。

我在网上找到了一些解决方案,但仍然无法将它们中的任何一个集成到我的 Qt 应用程序中:

有什么建议吗?

4

2 回答 2

4

您可以使用Qt3D。它将 3D 内容添加到 Qt Quick 的跨平台能力中。应用程序可以是带有少量简单 3D 内容的 2D QML 应用程序;到包含 3D 资产的复杂 3D 场景,例如复杂的 3D 模型和着色器效果。

Qt3D 在 Qt/C++ 和 Qt Quick 应用程序中都支持 2D 和 3D 渲染。

您还可以使用 Qt3D 加载 3D Studio Max (3DS) 格式或其他标准格式的模型对象,例如带有透视相机视图的 obj。

这里有一些很好的教程和示例。

于 2014-04-17T11:16:21.563 回答
2

Assimp 是用 C++ 编写的,并在包括 Qt 项目本身在内的多个项目中跨平台使用。

.3ds除非您使用未添加的非常旧的版本,否则最终似乎会支持该格式。有关它的更多详细信息,请参阅文档:

常见的交换格式

请注意顶部的以下条目:

  • 3ds Max 3DS (.3ds)
于 2014-04-17T03:03:51.207 回答