イベント
[CEDEC 2008#03]IMAGIRE DAY開幕,トップレンダリストによる最新グラフィックス処理動向
まずは,田村氏。氏は,当時学生ながらCEDEC 2006で驚異的に説得力のあるプレゼンによって,難解なSphere Hermonicsによる大域照明を聴衆に分かった気にさせたという実力の持ち主だ。
今回のテーマも大域照明的な柔らかい影の表現に関するものだが,SHもWaveletも使わない手法が紹介された。これは,キューブマップ上の複数の面光源からのソフトシャドウ処理を繰り返し加算していくという,考え方自体はシンプルな処理手法である。
あとは,それらの光源ごとのソフトシャドウをひたすら重ねるだけなのだが,ソフトシャドウを処理する部分で,Convolution Shadow Mapという手法を参考にした手法が紹介された。
通常のシャドウマップでは,シャドウテスト関数は影のあるなししか返さないので,出てくる影はエッジのくっきりしたハードシャドウとなる。同様の手法で,複数点のサンプリングからある程度エッジのぼやけた影を作るのが,Percentage Closer Filtering(PCF)だが,Convolutionマッピングは,影のエッジを滑らかにする手法のようだ。
ここで,シャドウテストとフィルタリングの関係について解説された。
フィルタリング,この場合はバイリニアフィルタやトライリニアフィルタのことで,これらは画像を滑らかに見せる技法である。これでシャドウマップの影が滑らかになってくれると非常に嬉しいわけだ。シャドウのエッジを滑らかにする手法として一般的なPCFでは,シャドウテストをしてからフィルタリングというのは可能だが,フィルタリングをしてからシャドウテストというのはできないというのが常識だという。シャドウテストというものが,0か1かを返す非連続関数なので,滑らかな変化になるフィルタリングの効果を期待してもうまくいかないらしい。しかし,Convolution Shadow Mapは,フィルタリング後のシャドウテストを破綻なく行える手法なのだそうだ。
Convolution Shadow Mapの考え方は,影の存在を示す0と1の非連続な関数をサイン波の合成で近似して連続関数に置き換えておき,それを使ってフィルタリングを行うというものである。フーリエさんも非連続関数についてはサイン波による近似は保証してないとは思うのだが,あえて強引に行うのがミソのようだ。FM音源で矩形波(ぽい音)を出すのと似た感じだろうか(と書いても分からない人のほうが多そうだが)。
実装に当たっての数式の処理なども紹介されたが,ここでは省略する。とにかく,今回のソフトシャドウの方式でもConvolution Shadow Mapと同じく,このような手法を取っているという。
ライティングを実際に行う場合には,フィルタリングをどの程度のサイズでかけるか(例えば5×5と7×7ではボケ方が異なる)について,最適なサイズを場所ごとに計算していく方法なども示された。
結局のところ,このような手法をもってソフトシャドウを重ねるとかなり自然な陰影ができるのだが,負荷が高いのでリアルタイム処理では現実的ではないというのが結論のようだ。光源を限定すれば使える可能性もあるとのことだが,考え方自体は面白いので,今後ほかのアルゴリズムとの併用などで日の目を見ることに期待したい。
今回は,ボケ形状をテーブル化し,それを2Dテクスチャの範囲に収めるため,丸絞りだけに限定するなど,前回ほどこだわりまくった実装ではないものの,ボケ画像が事前計算のテクスチャとして実装されるため,おそらく負荷はかなり減った実用的なものになっていると思われる。前ボケと後ボケでの特徴や色収差などはしっかり確保したまま,テクスチャを変えるだけで各種レンズでの特性の違いなどもシミュレートできるなど手軽さが目についた。
今回はジオメトリシェーダでの実装が間に合わず,サンプルはCPUによる処理のものとなっており,CPUでは全ピクセルでのボケの反映は無理なので,個数を限定した光点によるボケ具合の検証が行われていた。全画面処理でないだけに,同様なことは現状の多くのハードウェアで実現できそうだ。実際,別に用意した背景画像に一部光源処理としてこのレベルの処理を組み合わせて使うというテレビアニメ的な手法も示された。昨年の発表が「ここまでやるのか」と驚かされるようなハイブローな提案の連続だっただけに,今回は,前回のクオリティは受け継ぎつつも全体にかなり現実的な実装が印象に残った。
いろいろな処理で画像をレンダリングして,最終段で出力にひと工夫を加えることで,見る人に馴染みのある映像を作り出す。とことんカメラぽくすることがリアルさにつながるかは議論の残るところだが,光点のボケ具合の変化などは,かなりよい感じで日頃テレビなどで見慣れたカメラの効果を生み出していたようだ。
まとめの部分では,補正効果の優れたレンズをシミュレートすると,きちんと計算していても効果に気付きにくいという欠点が挙げられていた。理想的なカメラレンズをシミュレートすると(するまでもないのかもしれないが),CG的には面白みのない絵になるので,エフェクトとして使う場合はレンズ性能の劣るものを選んだほうが都合がよい……というのは,カメラ好きにとっては一つのジレンマではないだろうか。
- この記事のURL:
キーワード