我看到了很多关于如何在QOpenGLWidget上并行使用OpenGL和着色器以及QPainter的问题。例如、和。
我发现在使用QPainter、原生OpenGL代码和着色器时,会有很多问题。有时只渲染QPainter内容,有时只渲染存储在VertexArrayObjects中的内容,或者渲染使用glVertex()设置顶点的“旧方法”。结果是,您可以在paintGL()-pipeline of QOpenGLWidget中的任意位置使用QPainter和着色器,而无需在每次OpenG
我正在编写一个iOS/Android游戏,并寻找使用OpenGL ES 2.0呈现顶点数据的最有效的方法。我有两种不同的数据:动态数据,它改变每帧的属性,例如播放器或动画背景对象,以及静态数据,如静态背景或地形。顶点数组:只填充CPU上的每个帧(包括动态数据)。
顶点缓冲区对象:在GPU上为GL_DYNAMIC_DRAW分配一个VBO,其中动态和静态数据都存储在GL_DYNAMIC_DRAW上。然后通过glBufferSubData更新每个帧