Apr 07, 2010

Mandelbulb in Glass Case

1ヶ月ほど前からちょこちょこ弄っているマンデルブロー集合の 3D オブジェクトをガラスケースに入れて。

ch_20100407_mandelInGlassCase.jpg

Modeling & Rendering: Cheetah3D 5.3 ( + Mandelbulb.js script )

フラクタルは、なかなか奥が深い。じーっと見入ってしまう。 (Wink)


まとめ

  • Cheetah3D 5.3 64ビット化のおかげで、1000万ポリオーバーのオブジェクトでも、普通にレンダリング出来るようになった。
  • Cheetah3D + 外部プログラムとの連携は強力
    このオブジェクトはポリゴンスクリプトで生成したんですが、やはり JavaScript で計算するにはかなり荷が重い、ということで、フラクタルの計算・メッシュの計算自体は 0S::system() 関数を使って外部の Objective-C ( Foundation フレームワーク )プログラムを呼び出してます。実はフラクタルのループ計算・メッシュ計算は外部 C プログラムでもかなり重くて、プログラムの内部で GCD (Grand Central Dispatch) の仕組みを使って並列化してます。これが非常に簡単で強力でした。 (Laugh) Cheetah3D を単なる 3D インターフェースとして使えるので、Cheetah3D + bullet とか、可能性はいろいろ広がりますね。
  • フラクタルの細かい感じをレンダリングするには、計算グリッドからメッシュ化するやり方はコスト高 (Tongue) ただメッシュ化してしまえば、Cheetah3D でいろんなシーンを作れる強みはありますね。

スクリプトは整理して公開する予定です。