最近シェーダ触ってないなぁ,と思ったのでシェーダネタ
SSAO(Screen Space Ambient Occlusion)を実装して遊んでみました.
一般的なライティングでは環境光を定数とおいてしまうため,直接光のあたらない陰の部分の細かなディテールを描写することができません.SSAOは,シーンのデプス値から各ピクセルの遮蔽度を画面座標系で計算して,擬似的に環境光の遮蔽度を求めて陰の部分のディテールまで描画します.
ようするに薄暗いところまで細かく描画するよって感じです.
くわしくはぐぐってください.
まず,SSAOなしのウサギちゃんです.
首周りや脚の下側など,環境光が支配的な部分のディテールが潰れています.
SSAOありのウサギちゃんです.
陰部分の細かなディテールが描画されています.
2枚目は強めに効果をかけたものです.なんか重いですね.
sponzaでも試してみました.
むりやり面を三角形に変換したため,法線が少し乱れています.
派手な効果は得られませんが,CGでは得られにくいぼやっとした陰影がえられるためとても好きな技法です.