我一直在寻找如何,如果可能,你可以用OpenGL上下文填充QML屏幕中的特定区域,并仅在该上下文中进行自定义OpenGL。我已经看过很多演示,其中QML组件如按钮等位于屏幕范围的OpenGL上下文的顶部或下方(通常是游戏所需),但我希望能够在其中放置几个不同的OpenGL上下文。 QML并让QML文件定义它们的大小,它们的位置等等。
现在,由于Qt 5是引擎盖下的所有OpenGL,我想知道是否使用带有自定义绘图的Canvas元素通过javascript可以产生与自定义OpenGL类似的渲染性能?这将是一个有意义的替代方案,但我不清楚如何通过运行时处理javascript绘图与自定义OpenGL绘图相比。
答案 0 :(得分:1)
你想画什么? QQuickPaintedItem
可能是最简单的方法。当您使用QOpenGLFramebufferObject
作为目标时,画家将使用OpenGL绘制纹理。如果您所做的只是2D,那么编写自己的OpenGL代码可能更容易。