|
遅延シェーディング (、ディファードシェーディング、遅延レンダリングとも) は2次元のスクリーンスペース(画面空間)上でシェーディング(陰影計算)を行なう技術である。遅延と呼ばれるのは最初にジオメトリを処理する頂点シェーダーからピクセルシェーダーに至るまでの第1パスでシェーディングが実際に実行されていないからである。かわりにシェーディングは第1パスの結果を使ってレンダリングされる第2パスまで「遅延」される。 遅延シェーダーの第1パスでは、最終的なシェーディングに必要とされるデータがいったん収集されるのみとなる。各表面の位置や法線、マテリアルといった幾何学情報は、1組のテクスチャとしてジオメトリバッファ (, G-Buffer) にレンダリングされ、2次元情報として保存される。この後、ピクセルシェーダーは、スクリーンスペースにおいてテクスチャバッファの情報を使うピクセルごとに直接あるいは間接照明を演算する。 スクリーンスペース・ディレクショナルオクルージョン〔http://kayru.org/articles/dssdo/〕は直接影や反射を与えるという目的で遅延シェーディングのパイプラインの一部にすることができる。 == メリット == 遅延シェーディングの主なメリットとしては、シーンのジオメトリとライティングの分離が挙げられる。遅延シェーディングの対義語として、従来のレンダリング手順は前方シェーディング (、フォワードシェーディング、前方レンダリングとも) と呼ばれることがあるが、前方シェーディングでは光源の数に応じてジオメトリパスを走らせる必要があり、光源の数に比例してパフォーマンスが低下していく。一方、遅延シェーディングにおいては、光源の数がいくら増えようとも、1つのジオメトリパスのみが要求され、各光源は実際に影響するピクセルに対してのみ計算される。これは深刻なパフォーマンスへの影響なしに、シーンに多くの光源を配置できるということである〔http://thecansin.com/Files/Deferred%20Rendering%20in%20XNA%204.pdf〕。この手法ではほかにもいくつかのメリットが論じられている。メリットには、複雑なライティングにおけるリソース管理の容易化・柔軟化(光源の形状、光の波長すなわち色、および光源の数などの特性の制御)、およびCPU・GPU双方におけるソフトウェアレンダリングパイプラインの単純化も含まれうる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「遅延シェーディング」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Deferred shading 」があります。 スポンサード リンク
|