Important: OpenGL was deprecated in macOS 10.14. To create high-performance code on GPUs, use the Metal framework instead. See Metal.
Legacy OpenGL Functionality by Version
OpenGL functionality changes with each 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 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_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.
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.
Copy texture and subtexture
Texture image formats
Texture replace environment
There were a number of other minor changes outlined in Appendix C section 9 of the OpenGL specification. See http://www.opengl.org.
BGRA pixel formats
Imaging subset (optional)
Packed pixel formats
Separate specular color
Texture coordinate edge clamping
Texture level of detail control
Vertex array draw element range
OpenGL 1.2.1 introduced ARB extensions with no specific core API changes.
Cube map textures
Texture add environment mode
Texture border clamp
Texture combine environment mode
Texture dot3 environment mode
Automatic mipmap generation
Blend function separate
Multiple draw arrays
Separate blend functions
Texture crossbar environment mode
Texture level of detail bias
Texture mirrored repeat
Window raster position
Multiple render targets
Separate blend equation