Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your feedback on a survey! Each completed response supports our community and gives you a chance to win a $25 Amazon gift card!


GL_TEXTURE_RECTANGLE_ARB


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 aznium   Members   -  Reputation: 122

Like
0Likes
Like

Posted 30 January 2007 - 04:47 AM

GL_TEXTURE_RECTANGLE_ARB anyone recommend me an ATI card that supports this? basically i need npot textures . my current readeon 9000 and nvidia quadro fx 1500 doesnt seem to be capable

Sponsor:

#2 MARS_999   Members   -  Reputation: 1297

Like
0Likes
Like

Posted 30 January 2007 - 05:29 AM

Well I would look at a x1950XT I think it's called? It should support OpenGL2.0 and that is required to use NPOT textures and you will not need to mess with GL_TEXTURE_RECTANGLE. I don't own an ATI card and haven't in quite awhile. So I can't say for sure. I know that some people still say ATI can't do vertex textures...

#3 songho   Members   -  Reputation: 268

Like
0Likes
Like

Posted 30 January 2007 - 05:48 AM

aznium,
Try to find the extension string, GL_EXT_texture_rectangle instead of GL_ARB_texture_rectangle. (They are exactly same extension, but the later is approved by ARB.)

I am pretty sure that Radeon 9000 supports GL_EXT_texture_rectangle because this extension was added OpenGL version 1.3. Even lower cards, such as Radeon 7000/7200, support it based upon ATI doc.

Note that the latest glext.h declares only GL_TEXTURE_RECTANGLE_ARB in it, but not GL_TEXTURE_RECTANGLE_EXT any more, because they are same. Therefore, if your card supports either GL_EXT_texture_rectangle or GL_ARB_texture_rectangle, then you can use GL_TEXTURE_RECTANGLE_ARB in your code.

Also, GL_NV_texture_rectangle for nVidia cards is equivalent to GL_ARB_texture_rectangle.

#4 aznium   Members   -  Reputation: 122

Like
0Likes
Like

Posted 30 January 2007 - 07:23 AM

Hi,

i tried

glewGetExtension("GL_ARB_texture_rectangle")
glewGetExtension("GL_EXT_texture_rectangle")
glewGetExtension("GL_TEXTURE_RECTANGLE_EXT")
glewGetExtension("GL_TEXTURE_RECTANGLE_ARB")

on my quadro fx 1500 and all return false. perhaps i am doing it wrong?

i do not have glext.h , i am only including gl/glew.h

#5 zedzeek   Members   -  Reputation: 528

Like
0Likes
Like

Posted 30 January 2007 - 08:14 AM

i dont know what a quadro fx 1500 is
nv3x or nv4x i guess if so then
glewGetExtension("GL_ARB_texture_rectangle") should work
make sure u have the latest drivers for your card print out the gl version string

#6 songho   Members   -  Reputation: 268

Like
0Likes
Like

Posted 30 January 2007 - 02:47 PM

Quote:
Original post by aznium
glewGetExtension("GL_ARB_texture_rectangle")
glewGetExtension("GL_EXT_texture_rectangle")
glewGetExtension("GL_TEXTURE_RECTANGLE_EXT")
glewGetExtension("GL_TEXTURE_RECTANGLE_ARB")

Bottom 2 are not extension strings. They are enums to be used as texture target in glTexImage*D() or texture related functions. Try also GL_NV_texture_rectangle for nVidia card. Quadro FX 1500 is a decent professional OpenGL video card. It should support version 2.0 or greater.

You don't even need glext.h file if you want to use only GL_ARB_texture_rectangle. Just declare GL_TEXTURE_RECTANGLE_ARB in your code before using it. For example;

// declare enum for texture rectangle
#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
...

// get gl extension string
std::string glExtensions = (char*)glGetString(GL_EXTENSIONS);

// check if texture rectangle is supported
if(glExtensions.find("GL_ARB_texture_rectangle") != std::string::npos ||
glExtensions.find("GL_EXT_texture_rectangle") != std::string::npos ||
glExtensions.find("GL_NV_texture_rectangle") != std::string::npos)
{
textureTarget = GL_TEXTURE_RECTANGLE_ARB;
texRectSupported = true;

}
else
{
textureTarget = GL_TEXTURE_2D;
texRectSupported = false;
}
...

glTexImage2D(textureTarget, 0, internalFormat, imageWidth, imageHeight, 0, format, GL_UNSIGNED_BYTE, buffer);





#7 aznium   Members   -  Reputation: 122

Like
0Likes
Like

Posted 31 January 2007 - 02:36 AM

i think i may know the problem . the thread that is executing the glewGetExtension is another thread from the one holding the gl context

i will try and change code and fix it . thx for help guys.


do you know the geforce equivalent of the quadro fx 1500?




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS