Silverlight で 3D 描画をしようとしている人たちがいる。
Balder、python cube、3D demo などを見つけた。Sliverlight は WPF と違って3Dエンジンを持っていないから、どうしているのかと思ってソースを見たところ、どれも自前でトランスフォーム、透視変換、テクスチャマッピング、バックフェースカリング等を行っているようだ。
考えてみれば、シーンからトライアングルのセットアップまでできてしまえば、あとはフィルすればよいのだから GPU は勿体無いがこういうことは Sliverlight で可能だ。いろいろなブラウザ上の Javascript で実行可能になるので使いどころはいろいろあるかもしれない。それに3D描画の勉強にも良いのかもしれない。
ただ隠面消去はどうすればよいのだろう。ひとつのキューブが回転するだけならカリングだけでも大丈夫だが、シーンが複雑になると絵が破綻する(現在のBalderがそうだ)。Zバッファは流石に使えないと思うので、Zソートをポリゴン毎にするくらいしか思いつかない。
いずれにせよ面白い。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。