2011-08-14 92 views
1

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

a)使用固定的顶点缓冲区数据,并更改渲染周期中每个三角形的opengl变换矩阵。虽然这消除了通过CPU手动转换顶点数据的需要,但它需要每帧使用许多明确的“gl”变换/绘图命令。 b)使用两个动态生成的顶点缓冲区,并在当前帧正在生成时使用一个附加线程来计算下一组顶点。虽然附加线程能够执行与渲染线程上发生的GPU /消隐等待事件并行的任务,但所有转换必须通过Java代码执行,因为opengl变换仅适用于渲染周期。正如我所说,这是一个相对不了解的结论,所以我将非常感谢任何关于实施这个计划的建议。

+0

我的第一个猜测(因此它是没有答案的)会,这种方法b)比a更好),应该是选择的方法。 –

回答

1

设置每个三角形的转换矩阵会非常慢,所以你的计划听起来好多了。另一种选择可能是移至GLES 2.0,并尝试计算顶点着色器中的新顶点位置。