QQuickWindow::beforeRendering()或者QQuickWindow::afterRendering()信号的问题在于,从他们的插槽完成的所有OpenGL绘图将适当地在渲染的Qt Quick场景之下或之上.如果这对你来说足够好 - 也就是说.你只想绘制一个自定义的OpenGL背景或某种覆盖 - 然后去做吧.
如果你需要更多,即.使用OpenGL渲染放置在场景图中的一些QtQuick项,然后你必须使用第二个选项:将OpenGL渲染到一个用作某个QtQuick项上的纹理的framebufferobject.作为已链接到状态的文档文章,它为您提供了更多可能性(使用多个渲染上下文甚至多个渲染线程),但也带来了性能成本.实施起来也比较麻烦.
一般来说,由于选项1)通常是不充分的,所以你被迫选择2).这是在我所知道的QtQuick场景中使用原始OpenGL的唯一方法.
| 归档时间: |
|
| 查看次数: |
1254 次 |
| 最近记录: |