GeForce FXの驚愕のデモムービーをUp!#3 | - 12/08 20:37 |
||||||||||
デモ自体は,1950年代のレトロデザインのピックアップトラックが,マウスでスライダーを動かすだけで経年劣化していく様子が見られるだけのもの。町並みを疾走するわけでもなくカーチェイスを繰り返すわけでもなく,ほかの二つと比べると非常に地味に見える。 ところが。 今回公開されたデモの中では,これが最もGeForceFXの特徴を生かしたデモなのだ。その見どころを順に説明していこう。 まず,ボンネット,ホイール,木材といった車を構成する各パーツは,それぞれの材質の陰影を再現するためのピクセルシェーダープログラムを持っている。 これまでの3Dグラフィックスでは,表現したい材質が変化した場合はシェイダープログラムを切り換える必要があった。このトラックの例でいえば,ボンネットは最初キラキラと輝いているが,時間が経つにつれて色あせ,サビまで出てくる。 これを過去のGPUでやろうとすると,新品のときには新品の質感を出すためにグロスマップ(光沢)とデフューズ(拡散反射)を行うシェーダープログラムを用意してこれを走らせ,古くなってきて色あせたらグロスマップのシェイダーを削除して,その代わりに錆を表現するバンプマッピングを実行するシェイダープログラムを走らせる……というような感じだろうか。 しかしGeForce FXは,長く,しかも構造的なシェイダープログラムを書く(走らせる)ことができる。この例でいうなら,用意した単一のシェイダープログラムに「時間経過」というパラメータを与え,これに応じた陰影処理を行わせることができるのだ。 若干分かりづらいかもしれないので,先ほどのボンネットの例でもう一度説明しよう。 GeForce FXでのボンネットのシェーダープログラムは1個で,もともとグロスマップもデフューズもバンプマッピングまでも行うように設計されている。そこに「20年経ちました」という指示を入れてやると,動的にグロスマップは効かなくなり,拡散反射が強調されて"つや消し"状態になり,バンプマッピングの錆が有効になってくる。自らのシェイダープログラムの動作を切り換えてくるのだ。 なお,実際にこのデモで使われている各材質のシェイダーは,前述の説明よりももっと複雑で,色,バンプ,スペキュラ,グロス,表面の反射率,"錆"マップをすべて取り扱い,入力の経過時間パラメータによってそれぞれの効き方を動的に変化させている。また,錆マップは自己変化を遂げる手続き型テクスチャで,錆の増殖処理はライフゲームのようなアルゴリズムをピクセルシェイダーに実装して実現している。 ATIのRADEON9700は,発表会で新品のフェラーリF50のデモを公開したわけだが,今回のこのデモは「新品のフェラーリなんて,もともとCGみたいなものじゃないか」「リアリティっていうのは"ボロさ"に出るんだ」といわんばかりのNVIDIAのアンチテーゼだろうか。 61.55MBのムービーダウンロードは「こちら」からどうぞ。(トライゼット 西川善司) |