我目前正在评估实现可导航3D场景的可能性,该场景允许渲染多个2D图层。为了更精确一点,我想在3D环境中显示多个图形,以便精确定位这些图形之间的相似性和差异。考虑到下面的截图,会有两个图形(一个黑色,一个灰色),它们是等效的 - 对于不同的图形,异常节点可能会以红色突出显示。
我正在使用Qt的Graphic View Framework并使用QGraphicsScene
和几个QGraphicsItem
建立了一个可编辑的图形编辑器,我将其与此项目分开。
Qt提供OpenGL support,例如QGLWidget
,我查看了提供的示例。鉴于,我没有使用OpenGL(虽然我做了一些Java3D的工作),如果有些人可以分享他们的经验,我很乐意。
我想到了几个解决方案:
QGraphicsView
渲染为QPixmap
并以3D形式显示,这会使图表可导航,但会禁止任何元素选择等。QGraphicsView
“转换”为3D表示。我想这将是一些工作(特别是因为我没有使用OpenGL)QGraphicScene
中“放置”QGraphicsItem
s,视图或QGLWidget
s而不需要很多调整,并且仍会注册通常的“mouseclickevents “等等。对于第一种实现,在不同层中显示多个图形的普通可导航“查看器”就足够了。但我希望将其保持可扩展性,以便在将来添加,例如,选择。