ハイブリッドレンダリングのススメ

いくらレイトレーシングをはじめとした新しいレンダリングメソッドがCUDA上で実装できるとはいっても、たとえば3Dゲームグラフィックスを今すぐレイトレーシングに置き換えられるか、というとそれは無理だ。

そこでKirk氏が強く提唱するのが「ハイブリッドレンダリング」という概念だ。

プログラマブルシェーダと演算/シミュレーションベースのレンダリングとの中間にあるのがハイブリッドレンダリング

これは現行のラスタライズ法ベースの3Dグラフィックスと、CUDAベースの新方式の3Dグラフィックス処理を組み合わせてレンダリングを行おうとするもの。

Kirk氏が紹介したのは、High Performance Graphics 2009で発表された「Image Space Photon Mapping」だった。

フォトンマッピングとは、光源から照射される光を光の粒子(光子:フォトン)として仮定し、そのシーンにおいてフォトンがどのように分布したかを事前計算しておく(マッピング)。そして実際のレンダリング時にはこのフォトンマップを用いて局所的なレイトレーシングを行う。

Kirk氏が紹介したものは、このフォトンマッピングの概念をレンダリング結果の完成フレームに対し、画面座標系でポストプロセス行う手法になる。シーンの完成フレームをレンダリングするところまではラスタライズ法の普通のリアルタイム3Dグラフィックスで行い、画面座標系のフォトンマッピングをOptiX(CUDA)で計算する。

この手法ならば、フォトンマッピング・アプローチのグローバルイルミネーションをとりいれつつもリアルタイム3Dグラフィックスが実現できることになる。

すべてのレンダリングをGPGPUベースにおきかえるというのは現実味のある話に聞こえないが、適材適所的に使い分けるというのは、かなり実用的だし、挑戦しがいのあるテーマになり得る。近未来的には最も進化するテクニックとなるのかも知れない。

上段が定義通りのフォトンマッピング法、下段がImage Space Photon Mapping

下段のフォトンマッピング計算部分をGPUに行わせれば高速化できて表現力も向上するはず

ラスタライズ法ベースのレンダリング結果

フォトンマッピングのフォトン格納位置を可視化した図

GPGPUでフォトンマッピングに配慮したグローバルイルミネーションを計算

両者を合成

単一環境光の場合はこうなってしまう。どっちがリッチなビジュアルかは一目瞭然