初老ゲームプログラマの覚え書き

Screen-Space Ambient Occlusionに挑戦中

スクリーン空間で行なうアンビエントオクルージョンの記事を見つけて無謀にも挑戦しています。
とりあえず出力してみましたが、何か間違いを犯しているみたいで、思ったほど効果が出てきません。

Screen-Space Ambient Occlusionを簡単に言うと、視点空間の法線マップと距離を保存しておいて、スクリーン空間でAmbient Occlusionを行なうポストエフェクトフィルターです。
視点からの距離が求まっているのでDOFと併用することも出来そうな気がします。

アンビエント情報のみ出力

アンビエントオクルージョンマップ元

アンビエントマップはガウスフィルターなどでスムースにしないとノイズがひどい。

元の画像と乗算

アンビエントオクルージョンマップ合成

アンビエントオクルージョン合成