什么是在OpenGL ES中绘制大量点的最快方式?

问题描述:

我正在做一个android的游戏,我需要绘制很多点来改变每一帧的位置。我使用ndk来获得游戏数学/物理部分更快的处理性能,所以我需要使用OpenGL来获得最快的性能。什么是在OpenGL ES中绘制大量点的最快方式?

现在,我从包含每个像素的颜色的数组中取出一个纹理。用这种方法我只能够达到每秒10帧。无论如何,我可以加快速度吗?

+2

如果你还没有,你应该真的看到在Google IO 09上展示的实时游戏开发会议,你可以在这里找到它:http://code.google.com/events/io/ 2009/sessions/WritingRealTimeGamesAndroid.html。 – moritz 2009-12-26 05:04:47

顶点缓冲区对象(VBO's)可能就是你所追求的。有一个很好的教程here

现在,Android仅保证OpenGL ES 1.0和VBO的版本在1.1版本之前不在。您可以创建两个GLSurfaceView.Renderer,一个使用glDrawArrays,可以与1.0一起工作,另一个使用VBOs for 1.1,并根据1.1兼容性检查将其交换出来。