このページでは Forward レンダリングパス の詳細について説明します。
Forward Rendering パスは各オブジェクトを、オブジェクトに作用するライトにもとづいて、ひとつかそれ以上のパスにレンダリングします。ライトそのものは、設定および強度によって、Forward Rendering により別々に扱われます。
Forward Rendering では、各オブジェクトに作用する、いくつかの最も明るいライトは、完全なピクセルライティングモードでレンダリングされます。次に最大で 4 つのポイントライトが頂点ごとに計算されます。他のライトは球面調和( SH )として計算され、近似値になりますがより速くなります。ライトがピクセルライティングとなるかどうかは次のことに依存します。
各オブジェクトのライティングは次のように行われます:
例えば、もし複数のライトにより影響を受けるオブジェクトがある場合(下の絵で丸をつけた部分がライト A から H に作用されている):
ライト A から H が同じカラーと強度であると仮定した場合、すべて自動レンダリングモードであるため、このオブジェクトにおいて、この順番のとおりにソートされます。最も明るい光( A から D )はピクセルライティングでレンダリングされ、4 つのライト( D から G )が頂点ライティングとなり、最後に残りのライト( G から H )が球面調和( SH )となります。
ライトグループは重複していることに注意してください、例えば最後のピクセルライティングは頂点ライティングモードにブレンドするため、オブジェクトやライトが動き回る際に “Light Popping” (急なライトの変化)は少なくなります。
ベースパスはオブジェクトをひとつのピクセル指向性ライトと残りすべて SH ライトでレンダリングします。このパスではさらに他のライトマップ、環境光ライティング、および自己発光ライティング、を追加します。このパスでレンダリングされる指向性ライトは影があります。ライトマップされたオブジェクトは SH ライトから照らされないことに注意してください。
Additional Passes (追加のパス)は、このオブジェクトに作用する、各々の追加されたピクセルライトでレンダリングされます。これらのパスのライトは影を持てません(結果として Forward Rendering がサポートするのはひとつの指向性ライトと影です)。
球面調和ライトは 非常に 速くレンダリングされます。CPU のコストが極小であり、GPU を適用する場合も 事実上コストなし です(すなわち、Base Pass は常に SH ライティングを計算します、しかし SH ライトの性質からいくつ SH ライトがあってもコストはまったく同じです)。
SH ライトの欠点は:
まとめると、SH ライトは小さく動的なオブジェクトには向いてません。