[英]2D vtk Renders in QT
我无法在QT中执行2D vtk渲染而没有覆盖错误: Vtk图表在QT中中断,“找不到'vtkContextDevice2D的覆盖” 。
在尝试解决此问题时,我一直在阅读有关vtkContextView和vtkGenericOpenGLRenderWindow类的信息。
vtkGenericOpenGLRenderWindow:
vtkGenericOpenGLRenderWindow提供了一个框架,用于使用自己的OpenGL上下文和可绘制对象来实现渲染窗口。 为了有效,必须注册WindowMakeCurrentEvent,WindowIsCurrentEvent和WindowFrameEvent的观察者。
vtkContextView:
此类从vtkRenderViewBase派生并提供vtkContextScene的视图以及默认的交互器样式,渲染器等。这是创建vtkRenderWindow并在其中显示2D场景的最简单方法。
我不了解vtkContextView如何与OpenGL一起使用,并且想知道是否有人可以帮助解释彼此之间的关系,以及上下文视图如何工作。
另外,还有其他方法可以在不使用上下文视图的情况下进行2D vtk渲染吗? 我在QT中找不到任何2D vtk渲染的典范,将不胜感激有关如何在QT中进行vtk的2D渲染的任何建议 。
当前尝试渲染2D vtk图表的方法:
view->SetRenderWindow(this->qvtkWidgetRight->GetRenderWindow());
view->SetInteractor(this->qvtkWidgetRight->GetInteractor());
主文件中的附加代码:
QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
附加信息:64位计算机上的Win64,vtk8.2.0,Qt5.13.0,使用cmake3.15.0在MCVS2017(Release x64)中编译/内置(3D vtk可以正常工作)
终于在VTK论坛的帮助下找到了答案。 我只是在我的CMake文件中没有vtkRenderingContextOpenGL2(更新的代码,也向后)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.