ひたすら3DのOpenGLを勉強してました。
目標は昔作った「花火大会」というiアプリをiPhone用に移植。そしてAppStoreで売ること。
今は性能的にどれぐらいまで出せるのか等の技術調査中です。
グラフィック性能も上がってるし、リアル指向で迫ってみたいということで、3次元で表現していきます。
定番はパーティクルで火花の粒子を重ね合わせる方法です。
実装してみましたが、重ね合わせで線を表現するとどうしても濃くなり過ぎていまいちでした。
- ここのサンプルが参考になります。http://skyfell.org/downloads/Fireworks.zip
ただの爆発だったら、これでも良さそうだったのですが。ちょっと尾を引くような花火向きじゃなかったです。
火花の粒子だけをパーティクルで扱って、残像を幅のある線分で表現する方が見た目がよさそうです。
Fireオブジェクトを作って、それに残像の情報をリングバッファで持たせる形で実装しました。
- DirectX用ですが、このあたりを参考にしました。http://msdn.microsoft.com/ja-jp/academic/cc998624
この説明は2次元でしたので、3次元に拡張して実装してます。
とりあえずバージョンはこんな感じです。左下にfpsの値を表示してますが、まだまだ無駄も多いので12fpsしか出ていません。
次の目標は、視点を変更してもそれなりに表示できることかな。
よろしければ、ボタン↓押してくださいませ。

にほんブログ村
