2011-08-14 12 views
1

現在、Androidプラットフォーム上で、特定のオブジェクトのメッシュ三角形が衝突イベント中に異なる方向に爆発する単純なopengl es 1.1アニメーションを設計しています。すべての三角形が互いに爆発的に変形するので、私は2つのオプションのうちの1つを持っているという情報が得られていないという結論に達しました:OpenGL es 1.1変換回数が多い

a)固定頂点バッファデータを使用して、描画サイクル中の各三角形のOpenGL変換行列。これにより、CPUを介して頂点データを手動で変換する必要がなくなりますが、フレームごとに多くの明示的な 'gl'変換/描画コマンドを使用する必要があります。

b)ダイナミックに生成された2つの頂点バッファを使用し、現在のフレームが生成している間に追加のスレッドを使用して次の頂点セットを計算します。追加のスレッドは、レンダリングスレッドで発生するGPU /ブランキング待機イベントと並行してタスクを実行できますが、すべての変換はJavaコードを介して実行する必要があります。これは、OpenGLトランスフォームがレンダリングサイクルにのみ適用されるためです。

これは比較的知られていない結論なので、このプログラムの実装に関するアドバイスに感謝します。

+0

私の最初の推測(したがって答えはありません)は、そのアプローチb)はa)よりはるかに良いアイデアであり、選択の方法でなければなりません。 –

答えて

1

三角形ごとに変換行列を設定するのはひどく遅くなるので、計画bのほうがはるかに優れています。もう1つの選択肢は、GLES 2.0に移動し、頂点シェーダの新しい頂点位置を計算しようとすることです。

関連する問題