It's basically a texture enlarge instead of rescale. It would be done internally in the engine. If you have a npot texture with size 37x37 next pot size would be 64x64 . So in enlarge this difference of 37 to 64 would be transparent. So the original texture is made pot but maintaining its aspect. I've implemented it once in OpenGL . Don't know how it would work in WebGL.