Jump to navigation Jump to search
A Ubiquitous Extension is an extension that exposes a feature that is not core OpenGL in any version, yet is so widely available that you should have no problems with expecting any OpenGL implementation written in the last 8+ years or more to implement it.
Note: This is not an official concept, nor is this an official list. This is a de-facto state of being for certain very commonly used extensions.
List of ubiquitous extensions
- EXT_texture_compression_s3tc, for S3 Texture Compression (S3TC): First implemented in the GeForce 1 era. Has been around ever since.
- EXT_texture_sRGB: While the standard sRGB image formats were folded into GL v3.0, this extension also provides enumerators for s3tc-compressed sRGB images, which were not folded into core.
- EXT_texture_filter_anisotropic, for anisotropic filtering: Implemented since at least the GeForce 2 era (1999). Finally became core in OpenGL 4.6 (2017).
Reason for ubiquity
Extensions achieve this unusual status because they have not been adopted into the core, yet the functionality remains widely supported. The reasons for this are varied, but they can be boiled down to one or more of the following:
- Oversight. The OpenGL ARB is an organization with finite resources and time. If an extension is implemented by all major implementations, and has been for years, the ARB is less likely to go through the effort of fully adopting it into the core while more important work remains.
- IP issues. OpenGL is, as the name implies, Open to some degree. Specifically, OpenGL should be implementable by all, without patent or other intellectual property claims. Some features simply cannot be adopted into the core of OpenGL due to patent claims.