*エフェクト-Deferred Rendering [#b1e0c0ef] 遅延レンダリング。 1パス目でモデルの法線などの情報のみをMRTで別バッファに書き出し、2パス目はそれらのテクスチャを使用しシェーディングする。 2パス目は画面をfillするだけなので、不必要なライティング計算が必要なくなる。 ライト計算の負荷は一定数ずつ増えるので、処理負荷を見積もりやすい。 また、MRTで書き出した情報があるので、それらを使用したエフェクトが掛けやすい。 ---- #contents ** 描画パス [#x27ff561] 1.1パス目:それぞれ必要な情報をMRTを使用し書き出す。 アルベド、法線、深度、スペキュラ、ベロシティなど。 必要によってはfloatテクスチャを使用する。 ・アルベド(ディフューズ) &ref(deferred-pass1_diffuse.JPG,,40%); ・法線 &ref(deferred-pass1_normal.JPG,,40%); ・深度 &ref(deferred-pass1_depth.JPG,,40%); 2.1パス目で出力したテクスチャの情報からライト計算などシェーディングする。 ・シェーディング結果 &ref(deferred-deferred_shading.JPG,,40%); ** 参考 [#pafa26d9] ライト計算の1pxに1回になるので、処理負荷を見積もりやすい。 また、通常のシェーディングよりも軽くなる。 ライトを100灯焚いてみても環境によっては処理落ちしなかったり、30fpsをキープできていた。 &ref(deferred-pointlight.JPG,,40%); |