テクスチャフィルタリング
From Wikipedia, the free encyclopedia
コンピュータグラフィックスでは、テクスチャフィルタリングは、テクセル(テクスチャ上のピクセル)近傍の色を使ってピクセルにテクスチャマッピングするために、テクスチャ色を決定するために使われる方法である。端的にいえば、テクスチャのピクセルをより小さなピクセル単位に分けて、それらを混ぜ合わせることを行う。テクスチャフィルタリングは別の用語として、テクスチャスムージングと呼ばれている。テクスチャフィルタリングには多くの方法があるが、計算の手間と画質の間にはそれぞれ異なったトレードオフが存在する。テクスチャフィルタリングでは、離散的に与えられた点群からある点の値を得ようとする。これが補間である。
テクスチャフィルタリングはコストの低いアンチエイリアシングである。ソフトなテクスチャ、特に高さマップは補間をするとより良い見た目となる。
フィルタリングの必要性
テクスチャマッピング処理の間、テクスチャ参照は、テクスチャ上のそれぞれのピクセルの中心はどこにあるかを探す処理に置き換えられる。テクスチャ表面は、視点と比べて距離と方向を任意に設定できるので、一つのピクセルがいつも直接一つのテクセルに対応するとは限らない。ある種のフィルタリングは、ピクセルにとってもっともよい色を決定するために適用されなければならない。不十分で不適切なフィルタリングでは、ブロックノイズやジャギー、ちらつきなど、アーティファクト(画質の劣化、画像中のエラー)が生じる。
スクリーン上に表示するための、ピクセルとテクセルとの対応のさせ方には複数の異なったやり方がある。これらは視点に対するテクスチャ表面の相対的な位置に依存し、異なったフィルタリング方式が、それぞれの場合において必要とされる。ワールド座標系において、矩形の物体の表面に矩形のテクスチャを貼付けるということは、ある視点において、スクリーン上の一つのピクセルのサイズが一つのテクセルのサイズと正確に同じである。視点からの距離がより近ければ、テクセルはスクリーン上のピクセルよりも大きくなるので、適切に大きくする必要がある。この処理は「テクスチャの拡大」(texture magnification) として知られている。さらに、それぞれのテクセルがピクセルよりも小さくなれば、一つのピクセルにつき複数のテクセルが対応することになる。この場合、「テクスチャの縮小」(texture minification) を通して、カバーしている複数のテクセルを元に適切な色が決定される。OpenGLやDirect3DのようなグラフィックスAPIでは、プログラマーが拡大用および縮小用にそれぞれ異なるフィルターを設定できる。
ピクセルとテクセルが正確に同じ大きさである場合でさえ、一つのピクセルが必ずしも正確に一つのテクセルに対応しない場合がある。これはピクセルが整列していない場合で、4つの近傍テクセルを使って対応付けを行う。従って、あるフィルタリング形式もまだ必要とされている。