Sign in to follow this  
TaoGenXian

GL_TEXTURE_RECTANGLE_ARB support on ati x1300?

Recommended Posts

Hi to everyone:

My video card is ati x1300.
I am calling glGetString(GL_EXTENSIONS) from Windows XP,report is

EXT_texture_rectangle,but not GL_texture_non_power_of_two

my code like this:

GLuint texid;
glGenTextures(1, &texid);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texid);

glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, internal_format, width, height,

0, GL_RGBA, GL_UNSIGNED_BYTE, (void*)buf);

.....


glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texid);

render with glDrawArrays and use no-normalize texcoord.

my code work ok on Nv Geforce310 card. but on x1300,same texture is

render ok and others is incorrect,it appears that it really isn't

supported.

Thanks!

Share this post


Link to post
Share on other sites
EXT_texture_rectangle?
You should look for ARB_texture_rectangle since you are using GL_TEXTURE_RECTANGLE_ARB.

Are you saying that X1300 doesn't support GL_ARB_texture_non_power_of_two?
If the GL version is 2.0, then you can make NPOT textures but it won't be fast if you use mipmaps or anisotropic filtering or certain clamp modes like GL_CLAMP or GL_CLAMP_TO_BORDER, GL_CLAMP_MIRROR.

GL_ARB_texture_non_power_of_two is an indicator extension that the GPU supports true full blown NPOT.

I use to use limited NPOT on old Radeons like the 9500, 9700.

Share this post


Link to post
Share on other sites
Thanks for V-man's reply

my card's gl extensions is EXT_texture_rectangle,but not ARB_texture_rectangle.

i googled a similar problem :
http://lists.apple.com/archives/mac-opengl/2007/jan/msg00153.html

i don't understand the difference between EXT_texture_rectangle and ARB_texture_rectangle.
Thanks

Share this post


Link to post
Share on other sites
which parameter i use instead of GL_TEXTURE_RECTANGLE_ARB as texture target parameter of glTexImage2D?

int the glext.h,i found this define:

#ifndef GL_NV_texture_rectangle
#define GL_TEXTURE_RECTANGLE_NV 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
#endif

#ifndef GL_ARB_texture_rectangle
#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
#endif

it seems not for EXT_texture_rectangle.what is GL_TEXTURE_RECTANGLE_EXT's value?
Thanks

Share this post


Link to post
Share on other sites
hi V-man,i have resolved this problem.

if render by this code:

glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texid1);
...render texture1

glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texid2);
...render texture2

texture1 is render ok and txture2 is wrong.i insert "glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0)"like this:

glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texid1);
...render texture1

glDisable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0);

glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texid2);
...render texture2




it's OK!

i think x1300 driver has some little bug.

Thinks for you reply!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this