CryEngine: XB1のeSRAMを活用するタイル・シェーディング | みらいマニアックス !

CryEngine: XB1のeSRAMを活用するタイル・シェーディング

Crytekのエンジン事業部門の開発マネジャSean Tracy氏:

「CryEngineはこれ(eSRAM)のために、ユニークで斬新な対策をとっています。Ryseにも搭載されていたものです。ディファード・シェーディングの問題点の一つは、帯域幅の使用(メモリトラフィック)が大変重いということです。この問題は、光源が重なった場合に指数関数的に悪化します。この場合にはかなりの量の冗長読み取りと書き込み処理が発生するからです。当社のエンジニアはRyseにおいて、Xbox One(のeSRAM)を生かすためのタイル・シェーディングというシステムを開発しました。

「この処理は画面をタイルに分割し、コンピュート・シェーダーを使い、それぞれのタイルに効果のあるすべての光源のリストを生成します。その後、最小/最大範囲でタイルの光源をカリングします。次に、各タイルの光源リストをループし、シェーディングを適用します。

「この処理によってGバッファの読み取りは1度だけになり、シェーディングの結果の書き込みは、処理の終わりにピクセルあたり一回だけになるのです。実際、これによって望むらくは最も大きな、メモリ帯域の節約が行えます。Ryseでは光源カリング、ライティング全体、シェーディング・パイプラインにはたった一基のコンピュート・シェーダしか使われていません。(肌や髪のような複雑な表面といった、多少の例外はありますが。


NS: gamingbolt  Crytek Shares Secrets of Using Xbox One eSRAM’s Full Potential, Resulted In ‘Big’ Bandwidth Saves