フォト

Google AdSense


  • AdSense
無料ブログはココログ

« Unity 3.5の正式版がきた | トップページ | Windows 8プログラミングの準備をしていこう »

2012.02.15

Enlightenとはなにか、Frostbiteでの役割の復習

なんだかんだEnlighten自身がどういったことをやっていて、Frostbite 2.0のレンダリングパイプラインの中で何を担当しているかよく知らなかったので色々と資料を探していたところ、ちょうどSIGGRAPH 2010にGeometricsの方とEA DICEの方のセッションの発表資料があったので読んでみた(2010年の資料なので現在は違うかもしれません)。

A Real Time Radiosity Architecture for Video Games
http://www.geomerics.com/downloads/radiosity_architecture.pdf

まず読んだ瞬間理解したのはEnlightenはリアルタイムラジオシティをやるということ。

で、Battlefield 3の中では、Indirect Lighting(間接光のライティング)を支えてると言うこと、Direct LightingはそもそもTile-based Deferred Lightingですね。

とりあえず、27、28ページの流れから乱暴に要約すると

・CPUでリアルタイムラジオシティ計算(この発表は2010年版。現在のバージョンではCUDAを使うこともできる)をやる(29ページ)
・このときの計算結果は、LightmapとLightprobesの情報に分かれる。(29ページ下の文章)
・Lightprobes情報に関しては、3D Textureに格納(28ページに記載あり)
・Direct Lightのライティング(Tile-based Deferred Lighting. 30ページ)。※ここはEnlightenではない
・ライトマップ処理。これは静的なオブジェクト(具体的には背景)のみに適用(31ページ)。31ページで黒い部分は動的なオブジェクト。動的なオブジェクト部分はステンシルバッファでマスクして処理を飛ばす。
・Lightprobes処理。これは動的オブジェクト。32ページ目。黒い箇所は静的オブジェクト。たぶん、ステンシルバッファのマスクの逆処理で除外できるはず。
・Direct Lightingと合成で終了(33ページ目)

なるほどなぁ~。とりあえず、Enlightenが何をやるものなのかようやく把握。CPUでのラジオシティ箇所に関しては、色々とスライドで書かれてますが、とりあえず今回は割愛。ひとまず、何をやるものでどういう効果があるものなのか、と言うことを理解。

Enlighten Portfolio from Jesper Mortensen on Vimeo.

« Unity 3.5の正式版がきた | トップページ | Windows 8プログラミングの準備をしていこう »

Programming」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« Unity 3.5の正式版がきた | トップページ | Windows 8プログラミングの準備をしていこう »