PickleWorld
09-15-2010, 12:05 PM
The 1.5 OpenGL spec states that a texture specified using glTexImage3D (or 2D) must have dimensions as follows:
ws = 2n + 2bs
hs = 2m + 2bs
In otherwords, the texture must be base 2.
The 2.0 OpenGL spec states that a texture specified using glTexImage3D (or 2D) must have dimensions as follows:
ws = wt + 2bs
hs = ht + 2bs
In otherwords, the texture no longer has to be base 2.
My application must support cards/drivers from OpenGL 1.1 onwards (such as Intel Integrated Graphics systems who even new off the line today are only OpenGL 1.5-ish). So all fine and good, before allocating textures I can test the GL version (ie <= 2.0) to determine if base 2 textures are required and that will work as least most of the time.
My question though is this (as I have been burnt in the past in cases like this) has anyone seen or know of vendors/drivers who don't support non-power-of-2 textures but who do report GL version 2.0 or greater when queried? I know it is not according to the "spec" but I have seen vendors do stuff like this (for other features) in the past (especially for mobile cards for instance).
I want to know if I need to expect the unexpected in my application? Anyone have some suggestions? Will I be ok simply testing the GL version or perhaps is there is some other way I can test if this is supported?
ws = 2n + 2bs
hs = 2m + 2bs
In otherwords, the texture must be base 2.
The 2.0 OpenGL spec states that a texture specified using glTexImage3D (or 2D) must have dimensions as follows:
ws = wt + 2bs
hs = ht + 2bs
In otherwords, the texture no longer has to be base 2.
My application must support cards/drivers from OpenGL 1.1 onwards (such as Intel Integrated Graphics systems who even new off the line today are only OpenGL 1.5-ish). So all fine and good, before allocating textures I can test the GL version (ie <= 2.0) to determine if base 2 textures are required and that will work as least most of the time.
My question though is this (as I have been burnt in the past in cases like this) has anyone seen or know of vendors/drivers who don't support non-power-of-2 textures but who do report GL version 2.0 or greater when queried? I know it is not according to the "spec" but I have seen vendors do stuff like this (for other features) in the past (especially for mobile cards for instance).
I want to know if I need to expect the unexpected in my application? Anyone have some suggestions? Will I be ok simply testing the GL version or perhaps is there is some other way I can test if this is supported?