The OpenGL Registry contains specifications of the core API and shading language; specifications of Khronos- and vendor-approved OpenGL extensions; header files corresponding to the specifications; and related documentation including specifications, extensions, and headers for the GLX, WGL, and GLU APIs.

The OpenGL registry is part of the Combined OpenGL Registry for OpenGL, OpenGL ES, and OpenGL SC, which includes the XML API registry of reserved enumerants and functions.

Table of Contents

Current OpenGL API, OpenGL Shading Language and GLX Specifications and Reference Pages

API and Extension Header Files

Because extensions vary from platform to platform and driver to driver, OpenGL developers can't expect interfaces for all extensions to be defined in the standard gl.h , glx.h , and wgl.h header files supplied with the OS / graphics drivers. Additional header files are provided here, including:

Almost all of the headers described below depend on a platform header file common to multiple Khronos APIs called <KHR/khrplatform.h> .

<GL/glext.h> - OpenGL 1.2 and above compatibility profile and extension interfaces.

- OpenGL 1.2 and above compatibility profile and extension interfaces. <GL/glcorearb.h> - OpenGL core profile and ARB extension interfaces, as described in appendix G.2 of the OpenGL 4.3 Specification. Does not include interfaces found only in the compatibility profile.

- OpenGL core profile and ARB extension interfaces, as described in appendix G.2 of the OpenGL 4.3 Specification. Does not include interfaces found only in the compatibility profile. <GL/glxext.h> - GLX 1.3 and above API and GLX extension interfaces.

- GLX 1.3 and above API and GLX extension interfaces. <GL/wglext.h> - WGL extension interfaces.

These headers define interfaces including enumerants; prototypes; and, for platforms supporting dynamic runtime extension queries, such as Linux and Microsoft Windows, function pointer typedefs. Please report problems as Issues in the OpenGL-Registry repository.

Khronos Shared Platform Header ( <KHR/khrplatform.h> )

The OpenGL headers all depend on the shared <KHR/khrplatform.h> header from the EGL Registry . This is a new dependency, introduced in OpenGL-Registry pull request 183 for increased compatibility between OpenGL and OpenGL ES headers.

Older OpenGL and GLX Specifications and Reference Pages

OpenGL Application Binary Interface for Linux

The OpenGL Application Binary Interface for Linux is also available. Note that the ABI is extremely old and of little use today.

ARB and KHR Extensions by number

Vendor and EXT Extensions by number