我正在使用Boost图形库来组织由图形中的边链接的点,现在我正在处理它们的显示。
我是OpenGL ES 2/GLKit和顶点数组对象/顶点缓冲区对象的新手。我跟踪了本教程,这确实很好,但最后我想我应该做的是:
我读过访问VBO对性能非常不利,我应该使用交换VBO。
我的问题是:
发布于 2014-01-09 20:43:30
如果您只想绘制图表,那么除了OpenGL ES之外,还有更容易使用的库。但假设你有自己的理由:
只需尝试一下你所描述的,并测试它。如果它足够好,那么恭喜你:你已经完成了。
您没有提到图的数量、每个图的点数、修改点的频率以及您想要的帧速率。
如果您正在更新几百个顶点,并且它们不经常更改,您甚至可能不需要VBO。最近的硬件可以渲染许多精灵,即使没有它们。这取决于有多少个色系和它们变化的频率。
首先,尝试如下:
// Bind the shader
glUseProgram(defaultShaderProgram);
// Set the projection (camera) matrix.
glUniformMatrix4fv(uProjectionMatrix, 1, GL_FALSE, (GLfloat*)projectionMatrix[0]);
for ( /* each chart */ )
{
// Set the sprite (scale/rotate/translate) matrix.
glUniformMatrix4fv(uModelViewMatrix, 1, GL_FALSE, (GLfloat*)spriteViewMatrix[0]);
// Set the vertices.
glVertexAttribPointer(ATTRIBUTE_VERTEX_POSITION, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), &pVertices->x));
glVertexAttribPointer(ATTRIBUTE_VERTEX_DIFFUSE, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(Vertex), &pVertices->color));
// Render. Assumes your shader does not use a texture,
// since we did not set one.
glDrawArrays(GL_TRIANGLES, 0, numVertices);
}https://stackoverflow.com/questions/21028969
复制相似问题