QQuickWindow::renderTargetId()
在 Qt 6.0 中被删除,因为现在底层图形 API 可能与 OpenGL 不同。
现在有来自图形 API 的抽象,但是当我使用 OpenGL(我调用)QQuickRenderTarget
时,我无法从中获取 FBO ID 。QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL)
main()
所以我在我的屏幕外 FBO 中渲染我的场景,但是当我想将结果渲染到由 QQuickWindow 创建的 FBO 中时,它不是 ID = 0 的默认 FBO(QQuickWindow 现在创建一个 ID = 1 的 FBO),因为我的 QQuickWindow 被嵌入到 QMainWindow 中的 QQuickWidget 使用(所以我将 Qt Quick 和 QML 放入基于 QWidget 的 UI 中)。
我可以通过OpenGL API查询当前设置的FBO ID,当然,在我调用glBindFramebuffer()
渲染到我自己的FBO之前,但是我想使用它的API读取QQuickWindow的FBO ID,有什么办法吗?