ミップマップ

ここでは、ミップマップについて説明します。

ミップマップとは、テクスチャが縮小して表示される場合に、あらかじめ用意した解像度の低いテクスチャを適用する手法です。

ミップマップの詳細については、別途用意されている「CTR-グラフィックス入門」を同時に参照することをお奨めします。

補足:
ミップマップテクスチャの作成は Photoshop プラグインを使用して行います。
Photoshop プラグインの詳細は、以下の場所にある Photoshop プラグインのドキュメントを参照してください。
" %NW4C_ROOT%/documents/DccPlugin/Photoshop/PhotoshopPlugin.html "

ミップマップ用テクスチャの作成

ミップマップ用のテクスチャは、2 のべき乗 で作成する必要があります。

図 1 ミップマップ用テクスチャ

ミップマップ用テクスチャの作成

上の図は、テクスチャの最大サイズが 128 × 128 で、ミップマップレベルが 4 段階のミップマップ用テクスチャの作成例です。

この場合、実際には使用しない右端の部分は空けてテクスチャを作成し、テクスチャデータを出力する際にプラグインの設定でミップマップレベル数を指定します。

ミップマップレベル

ミップマップレベルは、レベル 0 を最初のテクスチャの大きさとして、レベルが 1 上がるごとに、テクスチャの幅と高さがそれぞれの半分のサイズになります。

縦横どちらかが、テクスチャフォーマットの最小サイズに到達するまで、最大 8 段階のミップマップを使用できます。

図 2 ミップマップレベルと解像度の関係

ミップマップレベル

ミップマップレベルはミップマップの LOD( Level of Detail )によって適用するレベルの解像度が決まります。

LODバイアス

ミップマップのLODバイアスとは、ミップマップのLODが、期待した解像度と異なるレベルを参照したとき、ミップマップの LOD レベルをずらすことで、適用されるミップマップレベルを調節する機能です。

図 3 LOD バイアスの調整例

ミップマップLODのバイアス

ミップマップの特徴

ここでは、ミップマップを使用した際の特徴を説明します。

処理負荷の軽減

ミップマップを使用すると、画面に映る面積に応じた解像度でテクスチャが表示されます。

画面の小さい領域に大きいテクスチャを貼る場合は、テクセル処理による負荷を軽減できます。

補足:
ミップマップを使用した場合でも、ミップマップレベル間のフィルタリング方法を滑らかに補間する設定にすると負荷が増加します。

モアレの軽減

ミップマップを使用すると、モアレによる見た目の不自然さを軽減することができます。

図 4 ミップマップを使用した比較

ミップマップ使用/未使用での比較

モアレ(干渉縞)とは、規則的なパターンを縮小したときに発生する縞模様のことです。
実際に画面に映る面積より大きな解像度のテクスチャを使用したときに、画面の最小単位 1 ピクセルに収まらないことによりモアレが発生し、ちらついて見えます。