We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Technology

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What Are the Different Types of OpenGL® Extensions?

By Eugene P.
Updated: May 17, 2024
Views: 4,499
References
Share

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.

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.

Share
WiseGeek is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Link to Sources

Editors' Picks

Discussion Comments
Share
https://www.wisegeek.net/what-are-the-different-types-of-opengl-extensions.htm
Copy this link
WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.

WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.