I have a difficulty in understanding the difference between the POT and NPOT textures. I’ve gotten very confused on this matter, and its quite frustrating, thats why i am posting here. First of all i am confused where a texture is loaded. Some say the “video memory” (is that the same as the RAM?) others say the GPU.
I am fairly new to OpenGL so the questions might seem stupid to you, and i might end up mixing things.
1.) A POT texture, as i understand, is an image that has dimensions of 2^n x 2^m which means 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048. This is because it has to fit the hardware structure - but why?? How is this image loaded, and where is it loaded in the RAM, CPU or CPU? I am a bit confused here.
So what does an NPOT mean? Is it any image that can serve as a texture, no matter the dimensions, in width and height? Or how? A 200x200 (NPOT) texture image yields lower performance than a 256x256 pixel texture image? Why is that?
If I read a 200x200 texture into CPU, will I allocate space of 256x256 on the GPU, which means i am wasting space. Or how is this understood correctly?
I am probably mixing things up here…
help is much appreciated!