ミップマップ

mipmap.png

テクスチャを一つしか使わないと不自然な見た目になる。

テクスチャマップからテクセルを取り出すための2Dインデックスの生成には、テクスチャ座標が使われます。

縮小フィルタと拡大フィルタがGL_NEARESTにセットされていると変なことが起きます。

GL_LINEARにセットされてたら、ミップマップは使わなくてもいいのか。
しかし、GL_NEAREST+ミップマップの方が速度のパフォーマンスが良いのだ。
GL_LINEARは描画するたびに毎回線形補間するのに対して、
ミップマップは、あらかじめ何段階か線形補間済みのデータを用意してそれを使い回すってことね

GL_NEARESTでミップマップがないと起こる変な現象

遠くにある三角形が画面にレンダリングされた状態で、小さく映り、
ピクセルが間引かれる際に、テクスチャ座標が大きく飛んでしまう。
なのでギザギザな変な絵になるのだ。

ミップマップを使用する手順

glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,width,height,0,GL_RGB,GL_UNSIGEND_BYTE,pixels);

サポートサイト Wikidot.com