ライトプレパス
2019年9月24日 (火) 12:57時点における122.133.83.79 (トーク)による版
ライトプレパス(英語:Light Pre Pass、通称:LPP)とは、遅延レンダリングを改良した3DCGの描画手法である。
概要
- 第1パス
「放射照度」を計算し出力する。
- 第2パス
放射照度を参照して拡散反射および鏡面反射を計算し「光源データ」を出力する。
- 第3パス
光源データを参照しつつフォワードレンダリング的な処理を行い最終的なピクセルを出力する。
メリット
メモリ使用量が少ない
遅延レンダリングの欠点である「アホみたいなメモリ使用量」が改善される。
MSAAが使える
遅延レンダリングではMSAAと併用できないという欠点があったが、LPPではMSAAと併用できる。
遅延レンダリングでは1パス目のGバッファの生成が終わってしまえば後は2D画像処理の世界に突入してしまうため、「ポリゴンのエッジの情報」が喪失してしまいMSAAが使えない。
フォトショップなんかにある「エッジ抽出」をリアルタイムに行い強引にアンチエイリアシングするという手法もあるが絶望的に効率が悪い。そのような状況下で少しでも性能を向上させようと、MLAA、FXAA、TXAA、SRAA、DSAA、ポストMSAAなど様々な手法が考案された。
一方、ライトプレパスでは3パス目でフォワードレンダリングに近い描画を行うためエッジの情報が最後まで失われていない。このためフォワードレンダリング向けに開発された様々な技法がそのまま適用できることが多い。MSAAもそのひとつである。
デメリット
遅延レンダリングでは全体で2パスなのがライトプレパスでは全体で3パスと増えている。 1フレームの描画にシェーダーを3回も呼び出さなければならない。 つまり「ドローコール」が1.5倍になる。