【发布时间】:2010-12-10 01:09:42
【问题描述】:
我正在尝试使用 OpenGL 在 Android 中渲染一些粒子效果。每个粒子都将是一个广告牌纹理四边形,并且每个粒子都通过旋转(即围绕 z 轴)进行渲染。我仅限于使用 OpenGL ES 1.1,所以点精灵和像素着色器不是一个选项。有什么方法可以快速渲染和更新许多粒子(例如 100 到 5000)的位置?
我知道对每个粒子使用 OpenGL 绘制调用会非常慢,但是当我需要在每帧更新我的粒子位置时,我对如何使用 VBO 之类的东西感到困惑。
【问题讨论】:
-
小心 VBO - 许多手机,即使是最初的 Droid,也不一定支持它们。
-
真的吗?我现在正在里程碑上使用 VBO。我认为 OpenGL 1.1 支持需要 VBO?如果您有很多动态对象而没有 VBO,那么获得快速 OpenGL 性能是不是几乎不可能?
-
看看这个问题:stackoverflow.com/questions/2093594/…。 Droid 没有列出 GL_ARB_vertex_buffer_object。有趣的是 Lance Nanek 的回答,他指出这似乎是能力报告中的一个问题,因为 Droid 应该有 VBO(您刚刚确认)。
-
我不久前读过这篇文章,并假设解决方案是在(“报告 OpenGL 1.1 支持”||“OpenGL 报告 GL_ARB_vertex_buffer_object 扩展可用”)为真时期待 VBO。这是正确的吗?