草木生成エンジン「speedtree」デモ(その2) 「GDC 2003」スペシャルレポート #29 | - 04/03 20:33 |
||||||||||
|
Text & Photo by トライゼット西川善司 「GDC 2003レポート #15」で紹介した,Interactive Data Visualization社の草木生成管理エンジン「speedtree」はご覧いただいただろうか? 今回,speedtreeエンジンのデモ(前回紹介したものとは別)の掲載許可が出たので,早速紹介しよう。 ■「speedtree」デモ版は「こちら」(39.1MB) このデモでは,「speedtree」エンジンによって生成・描画された草木の中を,二足歩行のロボットが暴れ回る。風に翻弄されて静かに揺れる枝葉の表現が非常にリアルだ。また,そのとき木々の影がロボットのボディや建物に投影されているところに注目してほしい。 こうしたオブジェクトの影が相互に投影し合っている表現を「相互等射影」というが,これはシャドウマッピングで実現している。光源からシーンをZバッファにレンダリングしてシャドウバッファを作成し,情報を吟味しながら「普通にレンダリングすべきか」「影とすべきか」を判断して,レンダリングしていくのだ。 影生成を含めて,このデモの視覚的なエフェクトの多くはNVIDIAが昨年(2002年)に発表した高級シェーダ言語「Cg」を使用して作られている。このデモはspeedtreeのデモであると同時に,Cg言語のデモでもあるのだ。 デモの実行方法は簡単。ダウンロードしたファイル(*.exe)を実行すればインストーラが起動するので,あとは指示に従ってインストールするだけだ。 デモを起動すると,画面(写真上段左)のような設定ウインドウが出てくる。基本的にはデフォルト設定でOKだが,デモを無限ループさせてさまざまなシーンを楽しみたければ「Loop Through all environment」をONにするといい。 なおこのデモはOpenGLで作られており,シェーダがNVIDIA拡張命令を使っていることもあって,実行するにはGeForce 3以上のグラフィックスチップ塔載ビデオカードが必要になる(RADEON系では動作しない)。 なおシャドウバッファ精度の問題で,ドライババージョンによっては影がちらつくことがある。その場合はドライバをほかのバージョンに切り換えてみよう。 (上段左)speedtreeデモの設定画面 (上段中央)パーティクルシステムを使った爆煙 (上段右)木が風になびけば,教会に投影された影も揺れる (下段左)speedtreeエンジンは,葉のない冬の枯れ木の表現にも対応している (下段右)夜のシーン。サーチライトによって生成された木の影がリアルだ |