皮下の散乱はテクスチャ空間でボカして再現する
ところで、逆に考えると、全ての表皮のピクセルがこのRDPに沿って反射するように陰影処理すればリアルな皮下散乱が再現できることになるのではないか。
ただし、"この理屈"がうまく行くのは、その面に対して垂直に、光を照射し、なおかつ、それを光の入射方向から見ているような状況の時だけだ。
しかし、もし、この条件が使えるならば、この皮下散乱は、表皮ピクセルに対して行った拡散反射の陰影処理結果を、ただこのRDPに沿うように、ボカしてやるだけで実現できることになる。
ならば、「この条件」が使えるような次元でレンダリングしてみようではないか。
ということで考案されたのが、「テクスチャ座標(2D)系を使用したレンダリング」だ。これは簡単に言えば、ピクセル陰影処理(実際のレンダリング)はちゃんとした3D実空間で行うが、その出力(描き出し)は3Dモデルの皮を切り開いて2Dの紙に貼り付けたような座標系(魚拓、あるいは地球の地図のようなイメージ)に対して行うもの。
レンダリングされた結果は3Dパースのついた映像ではなく、まさしく魚拓や地図のような完全な平面の結果になるが、陰影自体はちゃんと3D実空間に沿った結果となっている。
これを、今度は2D座標系で、前出のRDPに沿う形でボカしてやるのだ。これで表皮は皮下散乱した陰影結果となるのだ(問題は残っているがそれは後述)。
このままではただの魚拓画像なので、今度はこれを3Dモデルにちゃんとテクスチャマッピングしてやる。これで皮下散乱したライティングの終了した顔の完成となる。
ただし、このボカ仕方に工夫が要る。ただ、全体的にぼかすブラー処理ではダメ。
なぜならば、前段で紹介したRDPを見ても分かるように入射光はそのRGB各光によって散乱の仕方が違うから。そこで、異なるボカし幅(ボカし半径)で、RGB各光で異なる減退率でボカして、これを全てリニア合成してやる必要があるのだ。
ただし、残っている問題がある。













