【发布时间】:2017-03-09 12:55:31
【问题描述】:
Qt3D 使得显示一些网格图元变得非常容易:
m_torus = new Qt3DExtras::QTorusMesh();
但我只想显示一组点。我没见过类似的东西
m_points = new Qt3DExtras::QPoints();
有没有办法在不编写低级 OpenGL 的情况下做到这一点?
【问题讨论】:
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 Mailing List Nov 2016 - Lines in Qt3D
不过,有一个pcl 点云渲染器项目on github!
【讨论】: