The core OpenGL functionality changes with each new version of the OpenGL API. This appendix describes the functionality that was added with each version. See the official OpenGL specification for detailed information.
The functionality for each version is guaranteed to be available through the core OpenGL API even if a particular renderer does not support all of the extensions in a version. For example, a renderer that claims to support OpenGL 1.3 might not export the GL_ARB_texture_env_combine
or GL_EXT_texture_env_combine
extensions. It's important that you query both the renderer version and extension string to make sure that the renderer supports any functionality that you want to use.
Note: It's possible for vendor and ARB extensions to provide similar functionality. As particular functionality becomes widely adopted, it can be moved into the core OpenGL API. As a result, functionality that you want to use could be included as an extension, as part of the core API, or both. You should read the extensions and the core OpenGL specifications carefully to see the differences. Furthermore, as an extension is promoted, the API associated with that functionality can change. For more information, see “Determining the OpenGL Capabilities Supported by the Hardware.”
In the following tables, the extensions describe the feature that the core functionality is based on. The core functionality might not be the same as the extension. For example, compare the core texture crossbar functionality with the extension that it's based on.
Version 1.1
Version 1.2
Version 1.3
Version 1.4
Version 1.5
Version 2.0
Functionality | Extension |
---|---|
Copy texture and subtexture | |
Logical operation | |
Polygon offset | |
Texture image formats | |
Texture objects | |
Texture proxies | |
Texture replace environment | |
Vertex array |
A number of other minor changes outlined in Appendix C section 9 of the OpenGL specification. See http://www.opengl.org.
Functionality | Extension |
---|---|
BGRA pixel formats | |
Imaging subset (optional) |
|
Normal rescaling | |
Packed pixel formats | |
Separate specular color | |
Texture coordinate edge clamping | |
Texture level of detail control | |
Three-dimensional texturing | |
Vertex array draw element range |
Note: The imaging subset might not be present on all implementations; you must verify by checking for the ARB_imaging
extension.
OpenGL 1.2.1 introduced ARB extensions with no specific core API changes.
Functionality | Extension |
---|---|
Compressed textures | |
Cube map textures | |
Multisample | |
Multitexture | |
Texture add environment mode | |
Texture border clamp | |
Texture combine environment mode | |
Texture dot3 environment mode | |
Transpose matrix |
Functionality | Extension |
---|---|
Automatic mipmap generation | |
Blend function separate | |
Blend squaring | |
Depth textures | |
Fog coordinate | |
Multiple draw arrays | |
Point parameters | |
Secondary color | |
Separate blend functions | |
Shadows | |
Stencil wrap | |
Texture crossbar environment mode | |
Texture level of detail bias | |
Texture mirrored repeat | |
Window raster position |
Functionality | Extension |
---|---|
Buffer objects | |
Occlusion queries | |
Shadow functions |
Functionality | Extension |
---|---|
Multiple render targets | |
Non–power-of-two textures | |
Point sprites | |
Separate blend equation | |
Separate stencil | |
Shading language | |
Shader objects | |
Shader programs |
© 2004, 2008 Apple Inc. All Rights Reserved. (Last updated: 2008-06-09)