atlantis2での描画速度改善

| | コメント(0) | トラックバック(0)

カテゴリ:

Atlantis2の作者さん(metastability)曰く「glBegin/glVertexの代わりにglDrawElementsを使えばもっと速くできるよ」ということだったので、挑戦してみた。
結果、気持ち速くなったような、気がする。

やったこと。

  • ShadeからDXFで書き出したものをBlenderで読みこむ。
  • Blenderでマテリアルを設定する
  • Blenderでobj形式で書き出す
  • metastability作のJavaのツールでobj形式からC言語ソースコードに変換

これで法線データとマテリアル付きのglDrawElements版ソースコードになる。
glDrawElementsでは複数の頂点データをまとめて流し込むので、glVertexで頂点を1つずつ設定するのに比べて関数をコールするオーバーヘッドが抑えられる、らしい。

調子に乗って魚を100匹まで増やしてみた。

ニコニコ

YouTube


Atlantis2はBoidというかなりちゃんとした(?)群集シミュレーションアルゴリズムを使っているらしく、数を多くしたらすごい良い感じになりました。

トラックバック(0)

このブログ記事を参照しているブログ一覧: atlantis2での描画速度改善

このブログ記事に対するトラックバックURL: http://dragonpush.com/mtos/mt-tb.cgi/3

コメントする

ユーザー

このブログ記事について

このページは、unpushが2008年4月10日に書いたブログ記事です。

ひとつ前のブログ記事は「White Bear Adventure on the ice」です。

次のブログ記事は「飛び出す絵本「ヘンゼルとグレーテル」」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。