Opengl es 1.1高变换计数

时间:2011-08-14 20:33:59

标签: android opengl-es

我目前正在Android平台上设计一个简单的opengl es 1.1动画,其中特定对象的网格三角形在碰撞事件期间在不同方向上爆炸。由于所有三角形都需要自己独特的变换,因为它们相互爆炸,我得出的相对不明确的结论是我有两种选择之一:

a)使用固定的顶点缓冲区数据,并在渲染周期中更改每个三角形的opengl变换矩阵。虽然这消除了通过CPU手动转换顶点数据的需要,但它需要每帧使用许多明确的'gl'转换/绘制命令。

b)使用两个动态生成的顶点缓冲区,并使用一个额外的线程来计算当前帧生成时的下一组顶点。虽然附加线程能够执行与渲染线程中发生的GPU /消隐等待事件并行的任务,但所有转换都必须通过Java代码执行,因为opengl转换仅适用于渲染周期。

正如我所说,这是一个相对不明确的结论,所以对于有关该计划实施的任何建议,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

每个三角形设置转换矩阵的速度非常慢,因此您的计划听起来要好得多。另一个选择可能是移动到GLES 2.0,并尝试计算顶点着色器中的新顶点位置。