使用 qt3d 渲染已经加载的网格

Posted

技术标签:

【中文标题】使用 qt3d 渲染已经加载的网格【英文标题】:Rendering an already-loaded mesh using qt3d 【发布时间】:2016-01-24 23:53:19 【问题描述】:

我有生成网格的代码,即作为 3D 点的 N x 3 双精度数组 V 和三角形的另一个 M x 3 整数数组 F。如何通过 qt3d 渲染这个网格(注意网格是生成的,因此不是从文件中加载的)?这项任务非常基础,看起来应该很简单,但似乎 qt3d 的文档很少。

【问题讨论】:

不幸的是,没有简单的方法可以做到这一点。您需要创建自己的 QGeometryRendererQGeometryQBufferQAttribute 实例来渲染自定义几何图形。我稍后会尝试回复,详细说明如何执行此操作。 @ajshort - 谢谢!因此,据我所知,考虑到这是无证的,而且如果代码本身有点麻烦(听起来比直接使用 OPENGL 更麻烦),那么使用 qt3d 的好处是什么? 【参考方案1】:

Qt3D 源代码提供了一个简单多维数据集的示例: qt3d\src\extras\geometries\qcuboidgeometry.cpp/.h qt3d\src\extras\geometries\qcuboidmesh.cpp/.h 您可能可以根据您的用例对其进行调整。

【讨论】:

以上是关于使用 qt3d 渲染已经加载的网格的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Qt3D 在网格中制作透明线?

渲染在 OpenGL 中使用 Assimp 加载的动画模型时折叠的网格

无法使用 Qt3D 查看/加载 .obj 文件,用 cpp 编写

加载 Store 之前的 ExtJS 渲染网格

将远程数据渲染到网格的正确程序说明

如何获得 fbx 网格的正确位置?