Qt3D 可以很容易地显示一些网格图元:
m_torus = new Qt3DExtras::QTorusMesh();
但我只想显示一组点。我没见过类似的
m_points = new Qt3DExtras::QPoints();
有没有办法在不编写较低级别的 OpenGL 的情况下做到这一点?
不知道这是否是您要查找的内容,但请查看Qt3DRender::QGeometryRenderer
。我在一个项目中使用它来显示 3D 场景中的地图线。有一种方法可以定义如何渲染顶点缓冲区数据(我使用Qt3DRender::QGeometryRenderer::LineStrip
而不是Qt3DRender::QGeometryRenderer::Points
):
Qt3DRender::QGeometryRenderer::setPrimitiveType(Qt3DRender::QGeometryRenderer::Points);
AFAIK,Qt3D 2.0 中没有像线或点这样的简单原语,因为没有一种万能的解决方案。如果你幸运的话,有人会站出来添加一些额外的东西,否则你必须自己写你的解决方案。
Qt Interest 邮件列表 2016 年 11 月 - Qt3D 中的行
然而,在 github 上pcl
有一个点云渲染器项目!