まずテクスチャ画像を作らないといけない。こういうのは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