Category: 

What Are the Different Types of OpenGL® Extensions?

Article Details
  • Written By: Eugene P.
  • Edited By: Angela B.
  • Last Modified Date: 21 August 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Due to synthetic materials and furnishings, new homes burn about five times faster than those built 30 years ago.  more...

September 25 ,  1789 :  The US Bill of Rights was adopted.  more...

There are a number of different OpenGL® extensions, mostly used to help manage and maintain the ordered structure of the OpenGL® libraries. There are four main types of OpenGL® extensions: vendor, approved, generic and core. Approved, generic and core extensions all denote functions and libraries that are, in some way, moving along a path toward being included in the general distribution of the OpenGL® development kit. Vendor extensions are custom-made functions that apply to specific hardware or software environments. There are a few other types, though they are more for sub-classification of the many extensions that exist.

One of the reasons why there are different types of OpenGL® extensions is because of the widespread use of the core libraries and the potentially confusing amount of proprietary code being created to extend it. The OpenGL® Architecture Review Board (ARB) helps to maintain and enforce the OpenGL® standard and manage extensions. Many extensions begin either as vendor extensions or ubiquitous extensions and can, over time, be used by multiple vendors, earning the title of a generic extension. Generic extensions can then be reviewed by the ARB and become ARB-approved extensions that will most likely join the core extensions.

Ad

Vendor OpenGL® extensions are functions implemented by the manufacturers of graphics hardware or operating systems. These types of extensions allow a manufacturer to improve, or introduce new functionality to, their graphics performance and then make those improvements available to OpenGL® programs. All vendor extensions begin with an ARB-assigned code to represent the name of the manufacturer, indicating the environment in which the function could be available.

Generic OpenGL® extensions are functions that have been used and implemented by multiple manufacturers and no longer need to be designated with special vendor prefix codes. Not all generic extensions need to be implemented to maintain compliance with the OpenGL® standard. A generic extension uses the prefix GL_EXT before the name of the function or constant.

Approved OpenGL® extensions are those that have been adopted by more than one manufacturer and have been reviewed by the ARB, allowing them to become part of the normal OpenGL® library. Functions of this type generally become implemented by all manufacturers, regardless of which vendor actually invented the extension and regardless of whether the other vendors have hardware that can support the requested functions. This type of extension carries the prefix GL_ARB.

Core OpenGL® extensions are functions that are able to upgrade the performance of older programs by allowing calls to previous versions of the OpenGL® function to execute the most recent code. As new OpenGL® versions are released, the new core extensions can be called seamlessly from an older program without the need to change any of the source code. Despite the convenience of improving backward compatibility, core OpenGL® extensions still can be depreciated over time.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

Post Anonymously

Login

username
password
forgot password?

Register

username
password
confirm
email