蝶の大群とGPU

English version is ready: 英語

どうも、吉村です。

GPUをもっと酷使してやろうと、今回は大量の蝶のレンダリングにチャレンジします。
現在研究中なので、今回は軽く紹介にとどめたいと思います。

現在自分のマシン(iMac 3.4 GHz Intel Core i7, AMD Radeon HD 6970M 2048 MB)にて、
50万匹の蝶の挙動計算&レンダリングが60fpsで走っています。

OpenCLで蝶1匹1匹の座標を計算し、
OpenGLではジオメトリインスタンシングで効率的に描画します。

蝶の挙動は
1、ランダムに加速度を与える
2、CPUから指定した点に引き寄せられる
3、速度ベクトルがそのまま蝶の向きになる(頂点シェーダーで向きを調整)
というシンプルなもので、
蝶自身はモーフで羽ばたくアニメーションが付加されています。
ポリゴン自体はたった4枚です

遠くから見るとパーティクルに見えますが、近づくとそれぞれが蝶で、アニメーションしていることがわかります。

Screen Shot 2013-06-20 at 16.54.53

Screen Shot 2013-06-20 at 16.53.25

動画はこちらです。

Butterfly from wowdev on Vimeo.