3 次元コンピュータ グラフィックスの分野では、異方性フィルタリングはテクスチャ画像の品質を向上させるテクノロジであり、主に斜めの視野角での画像の鮮明さを向上させるために使用されます。このテクノロジーは、すべての方向で均等に機能するのではなく、特に極端な視野角でのぼやけを軽減し、ディテールを維持するためのターゲットを絞ったフィルタリングを通じて、テクスチャが観察される方向に機能します。
異方性フィルタリングは、テクスチャの「鮮明さ」を維持し、通常のミップマップ技術を使用して画像の細部の損失を回避します。
従来の等方性フィルタリングでは、各レベルで x 軸と y 軸の両方の解像度が低下するため、カメラに対して傾斜した平面上でレンダリングすると、垂直軸の周波数が低下し、水平解像度が不十分になります。これにより、他の方向のエイリアシングは回避されますが、他の方向のテクスチャがぼやける可能性があります。
対照的に、異方性フィルタリングを使用すると、テクスチャをさまざまなアスペクト比でフィルタリングできます。たとえば、テクスチャの解像度が 256px × 256px の場合、このフィルタリング技術により 128px × 128px に縮小し、さらに 256px × 128px や 32px × 128px などの非正方形の解像度に縮小することができます。これにより、ベベル角度でのテクスチャの詳細が向上するだけでなく、エイリアシングを回避する必要がある場合に他の方向の明瞭さも維持されます。
実際のアプリケーションでは、開発された設定を通じてさまざまな異方性フィルタリングの度合いを調整できます。この比は、フィルタリング プロセスでサポートされる最大異方性比です。たとえば、4:1 異方性フィルタは、2:1 フィルタよりもベベル テクスチャに明確な効果をもたらします。これは、大きく歪んだテクスチャの場合、4:1 フィルタリングの方が 2:1 フィルタリングよりも高い詳細が表示されることを意味します。ただし、ほとんどのシーンではそれほど高い精度は必要なく、距離の影響を受ける多数のパーティクルの特定の違いのみが表示されます。
最新のグラフィックス ハードウェアでは、過度に複雑なハードウェア設計と視覚的な利益の減少を避けるために、このレベルのフィルタリングに上限が設けられています。
真の異方性フィルタリングは通常、ピクセルごとにオンザフライで実行されます。レンダリング ハードウェアでは、テクスチャが異方的にサンプリングされると、そのピクセルの投影された形状に基づいて、テクスチャの周囲で複数のサンプルが取得されます。オリジナルのソフトウェア アプローチの一部では合計領域テーブルが使用されており、各サンプリング パス自体がフィルタリングされたミップマップ インスタンスになる可能性があり、サンプリング プロセスが悪化していました。たとえば、16 個のトリプル リニア サンプルが必要な場合、トリプル リニア ミップマップ フィルタリングでは各ミップマップの基礎として 4 つのサンプルが必要となるため、保存されたテクスチャから 128 個のサンプルを取得する必要がある場合があります。この複雑さは場合によっては必要ない場合があります。
異方性フィルタリングのサンプル数により、非常に高い帯域幅が必要になる場合があります。各テクスチャ サンプルは 4 バイトを超える場合があるため、各異方性ピクセルはテクスチャ メモリから最大 512 バイトのデータをフェッチする必要がある場合があります。このため、ビデオ表示デバイスには 300 ~ 600 MB/秒の帯域幅が必要となり、一部のシーンでのテクスチャ フィルタリング操作には数百 GB/秒が必要になるのが一般的です。幸いなことに、このパフォーマンスの低下を軽減するのに役立つものがあります。サンプル ポイントは、隣接するポイント間または同じピクセル内で、キャッシュされたサンプルを共有できます。サンプルが 16 個ある場合でも、より遠くにある大きく傾いたピクセルだけが特に重要になるため、16 個すべてが必要になるわけではない可能性があります。
これらの技術を組み合わせた異方性フィルタリングは、今日の最新のグラフィックス ハードウェアやビデオ ドライバーでますます一般的になりつつあります。ユーザーはドライバー設定を通じてフィルタリング率を調整でき、開発者は API を通じて独自のテクスチャ フィルタリングのニーズを実装することもできるため、より豊富な画像の詳細を表示できます。しかし、これらの技術が将来の映像表現においてどのようにさらに進化するかについて考えたことはありますか?