テクスチャのサイズが2^Nでないといけない条件
テクスチャのサイズの一辺あたりが2,4,8,16,32,64,128,256,512,1024,2048...でないとエラーが出ることがある。
ただし、2*1024などはOK、縦横の大きさが揃っている必要はない。
Mipmapを必要とするとき
Mipmapが必要なときは、当然ながらMipmapを作らなければならない。
Mipmapを作るテクスチャが2^Nのサイズを満たしていないときこれに失敗する。
つまり、縮小フィルタに対して、
- WebGLRenderingContext.LINEAR_MIPMAP_LINEAR
- WebGLRenderingContext.LINEAR_MIPMAP_NEAREST
- WebGLRenderingContext.NEAREST_MIPMAP_LINEAR
- WebGLRenderingContext.NEAREST_MIPMAP_NEAREST
のいずれかが指定されているとき。
なお、自分でgl.generateMipmapを呼ぶ必要があるが、もしもこのテクスチャが更新されるもの(FBOにバインドされて書き換わるもの)ならば、更新してから次に使うまでの間に毎回generateMipmapの必要がある。
gl.REPEATもしくはgl.MIRRORED_REPEATがWrapSもしくはWrapTに対して指定されているとき
このときは、同じように2^Nである必要性がある。