OpenGLテクスチャ拡大側ののぼやけ具合調整はこうやれ!





やあ子供たち。元気にしてたかな、すっかり虫の声がする季節になったね。今日はテクスチャのぼやけ具合に関するメモだよ。
画面上の実際の表示のピクセルサイズが、実際のテクスチャ画像サイズよりも大きくなる場合、OpenGLはこの画像をどうにか引き伸ばさないといけないわけだけれども、その際にどう引き伸ばすかを決めるのが、

      glTexParameteri( ***, GL_TEXTURE_MAG_FILTER, /*★★★*/);

という一文だ。*** のところには、GL_TEXTURE_2Dだとか、GL_TEXTURE_RECTANGLE_ARBだとかが入る。大事なのはこの次だ。
/*★★★*/の部分には、GL_LINEARか、GL_NEARESTを入れる。
前者にした場合には引き伸ばされた画像はバイリニア補間されていい感じにぼやかされた感じになる。まあお粗末なアンチエイリアス処理がかかるといった具合だ。
一方、後者にした場合には、画像がそのまんま拡大されて、ピクセルの四角とかもそのまま拡大されてジャギジャギの絵になるのさ。
上記の二つの画像を比べてみてくれ。左側がGL_NEAREST、右側がGL_LINEARの結果だ。じゃ、またな!