セッションでは触れられなかったその他の問題点

この他にも正確性においての議論ではいくつかの問題点は残る。例えば表皮の陰影処理に拡散反射の計算しか行っていないと完全なエネルギー保存の法則を遵守していないことになるのだが、これは皮膚の場合は(リアルタイム3Dグラフィックスでは)ほとんど無視できる誤差レベルだという判断をNVIDIAはしている。

今回の実装ではエネルギー保存則を遵守していないが、人の肌表現ではその誤差は微少と言うことで無視する。なお、当日のセッションのスライドでは「エネルギーの節約」と誤訳されていた。これは「エネルギー保存則」(Conservation of energy)の誤り

また、オリジナルの論文では、背面の光のこちらへのあふれ出し処理への対応についても言及されているが、今回のセッションでは説明が省略された。

例えば耳のような厚みのない部位は光が逆光のアングルでは、光が耳を浸透してこちらに突き抜けてきて、影となっている部分にもほんのりと明るくなる。これは皮膚が透明度は低いが半透明材質だからこそ起きる現象であり、これも皮下散乱現象の1つだ。

2D空間ベースのボカしによる皮下散乱テクニックでは人体そのもの(顔そのもの)で遮蔽している向こう側の光についての散乱については対処できない。これについては人体(顔)の厚み情報をレンダリングしてその厚みに応じた「光の滲み出し」を付加してやることで対処できるとしている。このレンダリングの仕組みを半透明シャドウマップ(TSM:Translucent Shadow Maps)と呼んでいるが、この考え方は実はCEDEC 2005で取り扱われたGeForce 7800用のデモ「Luna」の解説セッションで詳解されている。これは筆者が解説しているので、TSMの仕組みについては「CEDEC 2005 - NVIDIA、GeForce 7000シリーズ用デモの秘密やSLIのノウハウをレクチャー」の「FISHOBOYS」の項目を参照していただきたい。

半透明物が遮蔽している光の漏れ出しについての対処はNVIDIAはGeForce 7000シリーズ用デモ「Luna」で過去に取り扱ったことがある

さらにいえば、影の生成についても今回のセッションでは触れられていない。デモ映像を見てもらうと分かるようにセルフシャドウ付きの影が出ているが、このデモの影生成はごく普通のデプスシャドウ技法によるものだとのこと。なお、皮下散乱のボカし素材テクスチャの生成時に既にこのリアルタイム(セルフ)シャドウをレンダリングして焼き込んでしまっている。

そして、デモ映像を見ても分かるようにレンダリング自体はHDR次元で行われているので、高輝度部分からは淡い光のあふれ出し(ライト・ブルーム)が付加されている。

最終レンダリング結果。HDRレンダリングで影もセルフシャドウ付き