使用 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 的文档很少。
【问题讨论】:
不幸的是,没有简单的方法可以做到这一点。您需要创建自己的QGeometryRenderer
、QGeometry
、QBuffer
和 QAttribute
实例来渲染自定义几何图形。我稍后会尝试回复,详细说明如何执行此操作。
@ajshort - 谢谢!因此,据我所知,考虑到这是无证的,而且如果代码本身有点麻烦(听起来比直接使用 OPENGL 更麻烦),那么使用 qt3d 的好处是什么?
【参考方案1】:
Qt3D 源代码提供了一个简单多维数据集的示例: qt3d\src\extras\geometries\qcuboidgeometry.cpp/.h qt3d\src\extras\geometries\qcuboidmesh.cpp/.h 您可能可以根据您的用例对其进行调整。
【讨论】:
以上是关于使用 qt3d 渲染已经加载的网格的主要内容,如果未能解决你的问题,请参考以下文章
渲染在 OpenGL 中使用 Assimp 加载的动画模型时折叠的网格