アンビエントオクルージョンについて聞いたことがありますが、見た目はきれいですが、正確には何ですか?
アンビエントオクルージョンについて聞いたことがありますが、見た目はきれいですが、正確には何ですか?
回答:
アンビエントオクルージョンは、光とその環境に基づいて、表面の特定の部分で明るい光がどの程度輝くべきかを近似する方法です。これは、リアリズムを追加するために使用されます。
ウィキペディアには、何が行われているのかを説明する素晴らしい段落があります。
アンビエントオクルージョンは、ほとんどの場合、サーフェスからあらゆる方向に光線を投げることによって計算されます。背景または「空」に到達する光線は表面の明るさを増加させますが、他のオブジェクトに当たる光線は照明に寄与しません。その結果、大量のジオメトリに囲まれたポイントは暗く表示されますが、目に見える半球にほとんどジオメトリのないポイントは明るく表示されます。
アンビエントライトは、グローバルイルミネーションのシミュレーションに使用されるコンピューターグラフィックスのライトタイプです。アンビエントオクルージョンは、周囲光を遮るオブジェクトによって生じるシャドウイングのシミュレーションです。アンビエントライトは環境光であるため、他のタイプの照明とは異なり、アンビエントオクルージョンはライトの方向に依存しません。そのため、静的オブジェクトに対して事前に計算できます。
AOなし(左)左画像の影は、AOあり(右)の指向性ライトに起因することに注意してください。
従来のレイトレーシングでは、アンビエントオクルージョンは、半球の形状をとる特定のポイントからのレイをサンプリングすることでシミュレートされ、シーン(オブジェクトスペースAOとも呼ばれます)との交差をチェックします。
光線サンプルを使用してAO統合をシミュレートする方法に注目してください。
アンビエントオクルージョンアンダーサンプリングによって引き起こされるエイリアシング(ドット)に注意してください。
レイトレーシングサンプリング手法は、リアルタイムコンピューターグラフィックスで使用するには遅すぎるため、この動作をシミュレートする他の方法が登場しました。注目すべきアプローチの1つは、スクリーンスペースアンビエントオクルージョン(SSAO)と呼ばれます。
SSAOは、Crytekによって開発されたスクリーンスペース技術です。アンビエントオクルージョンは、Zバッファを唯一の入力として使用して、フルスクリーンパスで計算されます。
kA
各ピクセルのアンビエントオクルージョンファクターは、ピクセルの位置の周りの半球に分布する点のセットをテストすることにより推定されます。これは、画面スペースでの従来のレイトレーシングアプローチを効果的にシミュレートします。
の値はkA
、Zバッファーの値の前にあるサンプルに依存します。サンプルの半分以上が深度テストに合格した場合(つまり、中心ピクセルよりもカメラに近い)、kA
値1を受け取ります。サンプルの数がkA
少なくなると、1未満になります。
典型的なゲームシーンのSSAOコンポーネント
http://en.wikipedia.org/wiki/Ambient_occlusion
アンビエントオクルージョンは通常、周囲光がどれだけサーフェスに当たるかを表すデータを適用することを意味します。そのデータは通常、実装に応じてグレースケールテクスチャまたは頂点カラーです。
データを計算する最も一般的な方法は、ソリッドホワイトテクスチャと1ポイントライトを使用してシーンを複数回レンダリングし、そのたびにポイントライトを球体または半球の異なる場所に移動することです。すべてのレンダリングの結果は平均化され、シーン内の特定の場所とその場所に当たる光の量に関するデータが得られます。
たとえば、光をどこに置いても常に明るい場所は明るくなり、光をどこに置いても暗い場所は暗くなります。その結果、オブジェクトが一般に影を落とす場所に、隙間やひび割れに暗い影を入れたり、柔らかな照明を当てたりするようなものが得られます。
アンビエントオクルージョンは、光源に関連した表面のオクルージョンによる光の明るさを考慮したオブジェクトの表面の照明を計算する方法です。
つまり、アンビエントオクルージョンは、本質的にグローバルなシェーディング方法です。つまり、シーン内の各ポイントからの光/照明は、シーン内の他のポイントに影響を与えることができます。Phong / Blinnのようなローカルシェーディングメソッドとは対照的に、これはアンビエントオクルージョンを使用したシェーディングがよりリアルになります。
簡単な説明を少しだけ示します。アンビエントオクルージョンは、グローバルライティングをシミュレートする巧妙な方法であり、これまでに行った他の方法よりも高速です。光線は、表面に対して「上」の表面点からあらゆる方向から投射されます。パス内のオブジェクトに到達しない光線、つまり背景のボイドしきい値(「空」)に到達する光線は、表面の輝度を上げます。一方、サーフェスからキャストされたときにジオメトリに当たる光線は、サーフェスに明るさを追加しません。そのため、他の多くのジオメトリに囲まれているサーフェスポイントは、日陰になっています。
SSAOは、アンビエントオクルージョンを行う1つの方法にすぎません。