Apr 07, 2010
Mandelbulb in Glass Case
1ヶ月ほど前からちょこちょこ弄っているマンデルブロー集合の 3D オブジェクトをガラスケースに入れて。
Modeling & Rendering: Cheetah3D 5.3 ( + Mandelbulb.js script )
フラクタルは、なかなか奥が深い。じーっと見入ってしまう。
まとめ
- Cheetah3D 5.3 64ビット化のおかげで、1000万ポリオーバーのオブジェクトでも、普通にレンダリング出来るようになった。
- Cheetah3D + 外部プログラムとの連携は強力
このオブジェクトはポリゴンスクリプトで生成したんですが、やはり JavaScript で計算するにはかなり荷が重い、ということで、フラクタルの計算・メッシュの計算自体は 0S::system() 関数を使って外部の Objective-C ( Foundation フレームワーク )プログラムを呼び出してます。実はフラクタルのループ計算・メッシュ計算は外部 C プログラムでもかなり重くて、プログラムの内部で GCD (Grand Central Dispatch) の仕組みを使って並列化してます。これが非常に簡単で強力でした。 Cheetah3D を単なる 3D インターフェースとして使えるので、Cheetah3D + bullet とか、可能性はいろいろ広がりますね。 - フラクタルの細かい感じをレンダリングするには、計算グリッドからメッシュ化するやり方はコスト高 ただメッシュ化してしまえば、Cheetah3D でいろんなシーンを作れる強みはありますね。
スクリプトは整理して公開する予定です。
Comment
No Comments