簡體   English   中英

QT中的2D vtk渲染

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM