Results 1 to 6 of 6

Thread: EXT vs. non-EXT

  1. #1
    Junior Member Newbie
    Join Date
    Dec 2008
    Posts
    2

    EXT vs. non-EXT

    I apologize for the n00b question but I tried a few searches and I didn't find anything to answer it.

    Should I be using the EXT or the non-EXT version of a given function? For example, should I call glGenRenderbuffersEXT or just glGenRenderbuffers? Both seem to be available on my nVidia-based system so I'm puzzled.

    Thanks,
    Emil Dotchevski
    http://www.revergestudios.com/reblog/index.php?n=ReCode

  2. #2
    Senior Member OpenGL Pro Zengar's Avatar
    Join Date
    Sep 2001
    Location
    Germany
    Posts
    1,931

    Re: EXT vs. non-EXT

    If I am not mistaken, the non EXT version was first introduced in GL 3.0... I guess you should stick to the EXT if you don't explicitely require GL3.0 for your app.

  3. #3
    Junior Member Newbie
    Join Date
    Dec 2008
    Posts
    2

    Re: EXT vs. non-EXT

    My question was more general, it seems like on my platform I have many EXT functions that are also available as non-EXT functions, and not all of them are GL3.0-only.

    So what are the official guidelines about this? Which versions should I call? What about #defines like GL_COLOR_ATTACHMENT0_EXT -- I also have GL_COLOR_ATTACHMENT0!

    This is really confusing

    Thanks,
    Emil Dotchevski
    http://www.revergestudios.com/reblog/index.php?n=ReCode

  4. #4
    Member Contributor
    Join Date
    Feb 2005
    Posts
    90

    Re: EXT vs. non-EXT

    Use non-EXT when available.

    Ido

  5. #5
    Senior Member OpenGL Guru
    Join Date
    Dec 2000
    Location
    Reutlingen, Germany
    Posts
    2,042

    Re: EXT vs. non-EXT

    An extension has usually this way to evolve:

    vendor specific (NV, ATI, ...) => common extension (EXT) => ARB approved (ARB) => taken into core (no suffix at all)


    So to answer your question more detailed, if you have a function with NO suffix at all, that means it is a core function, so use that. If you have it with EXT or ARB suffix, prefer the one labeled ARB. If you have a function labeled "ATI" or "NV" or something similar vendor-specific, and another version labeled "EXT", prefer the EXT version.

    Hope that clears it up,
    Jan.
    GLIM - Immediate Mode Emulation for GL3

  6. #6
    Senior Member OpenGL Pro Zengar's Avatar
    Join Date
    Sep 2001
    Location
    Germany
    Posts
    1,931

    Re: EXT vs. non-EXT

    First of all, read the specification: it contains a list of extensions that have been promoted to the core.

    Then, you have to deside which base GL version is minimal for you application. For example, if you need lots of features that are part of OpenGL 2.0, it makes sence to require OpenGl 2.0 for your app: then you can use all non-extension (core) functionality that is part of GL2.0. If you only need one small bit, maybe it is more smart to use the extension. A good example is the framebuffer object, which is part of the 3.0 core. But if it is the only bit of 3.0 functionality you need, you probably shoudl stick to the EXT version, as only few cards nowadays support GL3.0 and it won't be reasonable to restrict your application to them.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Proudly hosted by Digital Ocean