OpenGL ES 2.0 を使用して、iPhone に状態保持パーティクル システムを実装しようとしています。状態を維持するとは、各パーティクルが時間的に前方に統合され、時間とともに変化し、レンダリング呼び出しごとに初期条件から計算できない固有の速度と位置ベクトルを持つことを意味します。
ここに私が考えることができる1つの可能な方法があります。
- VBO で粒子の初期条件を設定します。
- 頂点シェーダでパーティクルを統合し、結果をフラグメント シェーダでテクスチャに書き込みます。(最初のレンダリング呼び出し)
- テクスチャから VBO にデータをコピーします。
- VBO のデータからパーティクルをレンダリングします。(2 回目のレンダリング呼び出し)
- 2.~4.を繰り返します。
効率的に行う方法がわからないのは、ステップ 3 だけです。CPU を経由する必要がありますか? OpenGL ES 2.0 を使用して GPU でこれを完全に実行できるかどうか疑問に思います。どんなヒントでも大歓迎です!