一般に、アンビエントオクルージョン(AO)の背後にある動機は、裂け目やコーナーがしばしばシャドウイングされる方法を概算することです。私のオフィスの写真の例—壁と天井が交わる端に沿って暗くなることに注意してください。部屋は、窓から入ってくる光だけで照らされています。
この現象を正確にシミュレートするために、オフラインレンダラーはパストレースやフォトンマッピングなどの手法を使用します。リアルタイムの目的で、オフラインで事前計算するか、何らかの方法で近似します。
スクリーンスペースアンビエントオクルージョン(SSAO)は、レンダリングされた画像の深度バッファー(および場合によっては法線ベクトルも)を見てコーナーと隙間を検出できるという観察に基づいているため、近似AOをポストとして計算できます。パス。デプスバッファーはシーン内のジオメトリの粗い表現であるため、ターゲットピクセルの近傍でデプスバッファーの値をサンプリングすることにより、周囲のジオメトリの形状を把握し、AOによってどの程度暗くなったのかを推測できます。する必要があります。
この図は、Bavoil and Sainz(2008)によるもので、一種の高さフィールドとして解釈される深度バッファ値が、いくつかのジオメトリの離散化バージョンをどのように表すかを示しています。中央のピクセルのSSAOを計算する場合、周囲のピクセルの深度値を確認し、それらをいくつかの数式にプラグインします。これは、ジオメトリが凹状になっている場合(図のように)は暗い値を生成し、明るい値を生成するように設計されています。ジオメトリが平面または凸面の場合の値。
深度値が入る式は、ぼかし、エッジ検出などに使用されるフィルターカーネルとの類似性から「カーネル」と呼ばれます。ただし、SSAOは、深度値の単なる線形たたみ込みよりも複雑です。悪魔は細部にあります。サンプルの分布、およびオクルージョン値を生成するためにサンプルを処理する式は、過去10年間にわたって多くの研究の対象となっており、良好なパフォーマンスを維持しながらリアリズムを改善し、アーティファクトを低減しようとしています。