NVIDIA,「GeForce 8800 Ultra」用技術デモ「Human Head」を公開
NVIDIAは,「GeForce 8800 Ultra」用とされる技術デモの新作「Human Head」を,同社が運営する情報サイト「nZone」にアップロードした。「Downloads」ページから入手可能だ。
Human Headの概要については2007年5月10日の記事でお伝えしているから,憶えている人もいるだろう。これは,映画俳優であるDoug Jones(ダグ・ジョーンズ)氏の頭をキャプチャしたものに対して,毎秒12億ピクセル以上の複雑なスキンシェーダとHDR(High Dynamic Range)レンダリング処理を行うというものだ。
先に紹介した記事では,ムービーがYouTubeに上がっていたこともあって細部が不鮮明だったわけだが,実際に実行してみると,なんというか,気味が悪いほどリアルだ。重箱の隅を突き出すと,一部の影の表示がジャギーを起こしていたり,肌と影の境界線が不必要にはっきりしてしまっている部分もあったりするが,基本的には「写真」といっても通じそうな気配である。
ところで人の肌というのものは,表面の皮膚の色だけで表現してもリアルにならない。皮膚と下部組織が半透明で,やや光を透しつつ,内部で拡散し,血液の色などを反映して独特の質感が作られるからだ。さらにいえば,人間の目は肌や顔色に非常に敏感なので,自然な肌色を表現することは,CGにおいて大きなテーマの一つとなっている。 その技法としては,人間の肌の仕組みをそのままマネた皮下表面散乱を取り入れるのが定番。過去のNVIDIAのデモでもそのあたりは活用されているのだが,Human Headでは,4096×4096ピクセルのテクスチャとノーマルマップを使い,ディテールまで再現されている(ちなみに「Adrianne」では2048×2048のテクスチャが使われていた)。
セットアップ後に,インストールフォルダ以下にある「shaders」フォルダの中を覗いてみた限り,Human Headでは,皮膚を多層構造として――ファイル名に「threelayer」とあるので3層?――透過した光をブラーして重ねているようだ。アプローチ自体はAdrianneとそう変わっていないように見える。
ちなみに,「肌表現のために用意されている」ことがまず間違いないと思われるシェーダプログラムファイルの数は,Human Headで3個(シェーダプログラムファイルの総数は60個)。過去のデモを同じように見てみると,筆者が数えた限り,スキンシェーダと思われるファイルの数は以下のとおりだった。- Nalu 83
- Luna 17
- Adrianne 20
ずいぶん簡素になった印象を受ける。Naluでは事前計算用のプログラムが多数見られたのに対し,今回は演算力にモノをいわせるアルゴリズムが採用されたのだろう。Adrianneのドキュメントでは,「ブラーを2回以上かけるとよい」とされていたのだが,Human Headでは「途中計算で17回テクスチャを更新している」とあるので,より多段のブラー処理が行われているはずだ。
なおnZoneでは動作環境に「GPU:GeForce 8800 Ultra以上」と書かれているが,4Gamerで試した限り,「GeForce 8800 GTX」でも動作した。GPUのハードウェアIDを見て(GeForce 8800 Ultra以外のGPUで)起動できなくする仕組みは入っていないようなので,GeForce 8800シリーズのユーザーは,ゲームの合間にも,ちょっと試してみてはどうだろうか。(佐々山薫郁)
|
|
|