KhronosGroup / OpenGL-Registry

OpenGL, OpenGL ES, and OpenGL ES-SC API and Extension Registry
689 stars 275 forks source link

// Copyright 2017-2021 The Khronos Group Inc. // SPDX-License-Identifier: CC-BY-4.0

= OpenGL-Registry

== OpenGL, OpenGL ES, and OpenGL ES-SC API and Extension Registry

This site contains the API and Extension registries for the OpenGL family APIs - OpenGL, OpenGL ES, and OpenGL SC. It includes API specifications; specifications of Khronos- and vendor-approved extensions; header files corresponding to the specifications; the XML API Registry defining each API; and related tools and scripts.

It does not contain the OpenGL and OpenGL ES Reference Pages, which are in the KhronosGroup/OpenGL-Refpages repository.

If you want to add an extension specification to the Registry, correct an existing specification, request allocation of enumerants and other controlled resources in the OpenGL / GLX / WGL namespaces, or otherwise change the Registry, propose a pull request against the OpenGL-Registry repository and adding the appropriate extension specifications, making changes to the appropriate XML file, etc. Note that any changes you propose to reserved values in the registry are not official until your pull request is accepted into the main branch.

Feel free to post issues on the repository if it's unclear how to do something you need to with extensions, or if you find any problems.

== Please Don't File API And GLSL Bugs Here!

The OpenGL-Registry repository isn't the right place to report problems with the OpenGL and OpenGL ES API and Shading Language Specifications.

For API (both core and extension) issues, please use the issue tracker in the https://github.com/KhronosGroup/OpenGL-API repository.

For Shading Language (both core and extension) issues, please use the issue tracker in the https://github.com/KhronosGroup/OpenGL-GLSL repository.

Please tag your issues with +[OpenGL]+ or +[OpenGL ES]+ in the title, if they are specific to that API and/or Shading Language.

Reporting problems with the registry itself, including missing or badly formed extension documents, headers, or XML files, should be done using the OpenGL-Registry issue tracker.

=== Defining New Extensions

To create a new extension specification, take these steps:

There are some documents under the docs/ directory describing some of the processes for making extensions, but they are largely out of date. They may be updated or removed over time:

=== Repository Contents

=== There Sure Is A Lot Of Stuff In Here!

Yes, there sure is. The specs/ directory contains over 125 MB of PDFs, including the latest specs for each version of OpenGL and OpenGL ES. While this may be somewhat distressing to people who just want to add a single extension, due to the repository download time, the primary purpose of this repository is to be the backing store for the web registry on khronos.org. Fortunately git is very efficient, so once you've done the initial repository clone, updates will be small and quick.