【发布时间】:2011-12-18 03:51:01
【问题描述】:
我目前正在评估实现可导航 3D 场景的可能性,该场景允许渲染多个 2D 图层。更准确地说,我想在 3D 环境中显示多个图形,以便查明这些图形之间的相似性和差异。考虑以下屏幕截图,将有两个图形(一个黑色,一个灰色),它们是等效的 - 对于不同的图形,异常节点可能会以红色突出显示。
我正在使用 Qt 的 Graphic View Framework 并使用 QGraphicsScene 和几个 QGraphicsItems 建立了一个可编辑的图形编辑器,我将它们与这个项目分开。
Qt 提供了OpenGL support,例如QGLWidget,我查看了提供的示例。鉴于我没有使用过 OpenGL(不过我也使用过 Java3D),如果有人可以分享他们的经验,我会很高兴的。
我想到了几个解决方案:
- 将每个
QGraphicsView渲染为QPixmap并以 3D 形式显示它们,这将使图形可导航,但会禁止任何元素的选取等。 - 为每个 2D 图形元素创建一个等效的 3D 元素,并将每个
QGraphicsView“转换”为 3D 表示。我想这将是一项相当大的工作(尤其是因为我没有使用过 OpenGL)
对于第一个实现,在不同层显示多个图形的普通导航“查看器”就足够了。但我想保持它的可扩展性,以便将来添加,例如挑选。
【问题讨论】:
标签: qt opengl graph qgraphicsview qglwidget