EXT/NV_texture_rectangle in 1.5spec

according to the 1.5spec ARB_texture_non_power_of_two is specified by the ARB. i am a little bit confused, does this include the EXT/NV_texture_rectangle? in my opinion not!

p.s. does there exist a EXT_texture_rectangle? because the latest glext.h does not include it. i know it is the same as NV_tr, but is it only available in the ATi headers?

There is absolutely no difference between the EXT and NV texture rectangle.

from glext.h:

#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

from glati.h

#ifndef GL_EXT_texture_rectangle
#define GL_EXT_texture_rectangle 1
#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8
#endif /* GL_EXT_texture_rectangle */

Nico

Also, from the extension spec:

  1. How is a conventional NPOT target different from the texture rectangle
    target?

    STATUS: RESOLVED

    RESOLUTION:
    The biggest practical difference is that coventional targets use
    normalized texture coordinates (ie, [0…1]) while the texture
    rectangle target uses unnormalized (ie, [0…w]x[0…h]) texture
    coordinates.

    Differences include:

    • In ARB_texture_non_power_of_two:
      • mipmapping is allowed, default filter remains unchanged.
      • all wrap modes are allowed, default wrap mode remains unchanged.
      • borders are supported.
      • paletted textures are not unsupported.
      • texture coordinates are addressed parametrically [0…1],[0…1]
    • In EXT_texture_rectangle:
      • mipmapping is not allowed, default filter is changed to LINEAR.
      • only CLAMP* wrap modes are allowed, default is CLAMP_TO_EDGE.
      • borders are not supported.
      • paletted textures are unsupported.
      • texture coordinates are addressed non-parametrically [0…w],[0…h].

Nico

Originally posted by -NiCo-:
There is absolutely no difference between the EXT and NV texture rectangle.
i know, but i ask myself, why isn’t the EXT stuff in the latest glext.h and only in the (proprietary) ati header file.

The EXT extension is an apple specification which hasn’t been added to the extension registry. As you can see on http://oss.sgi.com/projects/ogl-sample/registry/

Contributors to the specification include Mark Kilgard from nvidia and Geoff Stahl from apple. Maybe it’s an intellectual property issue.

Greetz,

Nico