Does anyone know of any video cards other than the Voodoo cards that have unusually small maximum texture sizes? When I say unusually small, I mean like smaller than 1024x1024.
I’m just wondering how much I should worry about an end-user being limited to 256x256 etc, or if I should just go for it and use larger textures and not look back.
Thanks! That helps alot! Now if only I had survey data showing up prevelant each of these cards is…
I suppose it depends on your applications target audience, but in the PC arena, off the top of my head , I’d say that if you use geforce2 and radeon 7500 and up as a guidline, you’ll have the majority of cards of any consequence covered.
be careful with texture size - on nv3x hardware max_tex_size is 4096, but it is very slow. Fully hardware accelerated is 2048. May be for some other cards situation is the same.
GL_MAX_TEXTURE_SIZE is not a valuable information.
First, it is not the maximum size ever accepted. This is the maximum square size. For instance, an implementation that returns 512 for GL_MAX_TEXTURE_SIZE may accept 512x512 textures in RGBA mode, but could accept 1024x256 textures RGBA mode or may even accept 1024x1024 textures in LUMINANCE mode, but may refuse 1024x1024 textures in RGBA mode.
Secondly, as pointed out, it does not necessarily represent the maximum “hardware-aware” size.
Thirdly, the information is limited to 1D and 2D textures. For 3D texture and cubemap texture size limit, you have to query glGet with other enumerants.
Since OpenGL1.1, it is recommended to query the size with proxy textures.
And anyway, even if the implementation does not support a size that is big enough for the image you’re currently loading from disk, you still have the obvious solution of scaling the image before sending it to the GL. Tools like gluScaleImage do this very easily. Obviously, the scaled image will have a reduced quality, but at least it will run on any hardware.