我在 Qt6 QML 项目中使用 VTK9 (QQmlVTKPlugin) 添加 3D 查看器,我的渲染是在 QQuickItem 中完成的。为了同步主线程和渲染线程,我使用我的应用程序窗口:
connect(m_window, &QQuickWindow::beforeRendering, m_renderer, &ViewerRenderer::init, Qt::DirectConnection);
connect(m_window, &QQuickWindow::beforeRenderPassRecording, m_renderer, &ViewerRenderer::paint, Qt::DirectConnection);
connect(m_window, &QQuickWindow::beforeSynchronizing, m_renderer, &ViewerRenderer::sync, Qt::DirectConnection);
但是使用这种方法,QQuickItem 的所有更新都会运行我的 3D 查看器的渲染。是否可以使用相同的同步系统,但仅使用 VTK 在选择的 QQuickItem 中渲染,还是应该使用其他方式?
谢谢你的帮助