オンラインで読んだところ、スーパーサンプリング アンチエイリアシングの基本的な仕組みは理解できました。これは、ユーザーのディスプレイよりも高い解像度でシーンをレンダリングし、余分なピクセルを使用して平均を計算し、ダウンサンプリングするものです。
ただし、これが実際にどのように機能するかはよくわかりません。たとえば、壁の赤いピクセルの横に空の青いピクセルがある場合、シーンが x2 SSAA でレンダリングされると、1 つの赤いピクセルは 4 つの赤いピクセルになり、青い空のピクセルも同様になり、平均を計算するときにどのように役立ちますか。
4 つの新しい赤いピクセルが元の画像に重ね合わされ、赤と青のピクセルが混ざり合って平均を計算し、壁と空の間の遷移をスムーズにすることができるのでしょうか?
ご協力いただければ幸いです。
答え1
とても役に立ちます。元の例では:
... 赤 赤 赤 青 青 青 ...
赤と青の境界は階段のように見える
オーバーサンプリングされた画像では
... 赤 赤 赤 赤 青 青 青 ...
ダウンサンプリングすると
... 赤] [赤 赤] [赤 青] [青 青] [青 ...
これで、赤と青が平均化された 1 つのピクセルが作成され、赤と青の領域の境界がぼやけます。
赤と青の 2 つの領域の間に対角線の境界があると想像すると、2x2 ボックスの多くには必然的に赤と青の両方のピクセルが含まれるため、オーバーサンプリングによって階段状のエッジに中間ピクセルが挿入されます。
答え2
わかりました。説明してみます。以前、写真を扱うときに、非常に広範囲で深いスムージングを行わずに、写真や低解像度の写真にいくつかの「スムージング」アルゴリズムを適用するために、このような方法を適用したことがあったからです。
それは次のようになります。
これは、通常表示される解像度のピクセルです。アンチエイリアシングまたはジャギーのスムージングが急務です。
ここでは、画像を4倍に拡大し、同じアンチエイリアシングアルゴリズムを適用しました。
愚かなコンピュータなので、黒を白に曲げる(白さの量を変える)だけでなく、白を黒に曲げる(方程式のバランスをとる)必要があることに注意することが重要です。私は、数学的なマトリックスを、適用するように指示された場所に盲目的に適用しています。ビデオ カードのアルゴリズムは非常に洗練されており、実際にはこれほど盲目的ではありません。
ゲームにおけるバランスの観察可能な例。フェンスが空に消えたり、空がフェンスになったりするのは望ましくありません。そのため、調整は空のピクセルとフェンスのピクセルの両方に均等に適用する必要があります。また、ビデオ カードとゲーム エンジンがこのバランスを崩して、このような難しい詳細をともなう最高の画像を取得する方法の例でもあります。
ある時点で、これらすべてがディスプレイ解像度に戻され、そこでは低解像度になります。調整する項目が多数あるため、余分なピクセルは、より少ないピクセルに完全にブレンドされます。
(そのブレンドには完璧な色ではありませんでしたが、計算はしていません)
そして、ご覧のとおり、ディスプレイ解像度では再びひどい見た目になります。
低解像度側では、すべてのピクセル (黒と白の両方) を互いの方向に曲げたため、影響を受けた/変更された領域が広大になり、低解像度でのみ作業していたため、スムージングの帯が広くなります。
高解像度側では、代わりに 4X ピクセルを混合してより小さなスムージング領域を作成する完璧なバランスのピクセル セットを取得しました。そのため、高解像度側では、これをすべて非常にきれいにスムージングするピクセルが検出されますが、大きなぼやけた混乱は残りません。
なぜなら、(再び)ピクセル同士のブレンドのバランスを保つために、はるかに多くのピクセルを曲げる必要があるからです。最初に拡大すると、この曲げブレンドをより小さなスケールで作成でき、曲げのバランスを保ちながら、最終結果では影響を受けるピクセルが少なくなり、ジャギーが隠されるようになります。
ゲームを使用して 2 つの方法を並べて比較すると、多くの追加作業のように見える結果の違いはそれほど大きくありません。低解像度で再利用される写真を処理する場合も同様で、私とマシンに多くの追加作業がかかり、結果はわずかに改善されるだけです。