まずテクスチャ画像を作らないといけない。こういうのはPostscriptの出番(アレ?)。 MIPMAPの都合があるのでピクセル数は2のベキがいい。
上下を1ピクセル残し、左右は中央に「fg」を描画、サイズは64ピクセル
GL側はこんな感じ
gl_PointCoordに入ってくる
getImageDataで取ってきてもいい
activeTextureして、bindTextureして、uniformにテクスチャ番号を整数値で設定
texture2Dに渡すとテクセルが取れる
TEXTURE_MIN_FILTERを設定しているところが相当)
gl_PointCoordをそのまま色データにして描画する
pixelStoreiのUNPACK_FLIP_Y_WEBGLでテクスチャの上下をひっくり返すことができる
もう少しごちゃごちゃしたテクスチャを作る
いろんなモードで貼り付ける
generateMipmapで生成することもできる
generateMipmapしておいてから、残りのレベルを設定すればよさそうだ
LINIEAR_*)、下が補間なし(NEAREST_*)、補間なしはギザギザするが、補間ありはモヤっとする
*_MIPMAP_NEAREST)で、小さい時のゴニョゴニョ感はないが、画質が突然変わるのが分かる
*_MIPMAP_LINEAR)で、滑らかに画質が変わっていく
NEAREST_MIPMAP_NEARESTがよく、きれいに描画したいならLINEAR_MIPMAP_NEAREST、動的にサイズを変えるのならLINEAR_MIPMAP_LINEARかな
初稿: 06 Jul 2024
Copyright (C) 2024 akamoz.jp