Part of the Khronos Group

Resources for the Mobile Developer Community

The Khronos Group encourages widespread implementation and adoption of its compute, graphics and media standards. We invite any company, institution or individual to download and use the specifications and development resources to assist in integrating compute and graphics functionality into their hardware or software products. Khronos does not charge royalties to or require licensing by developers using any of its APIs in their own software products. However, implementers of Khronos APIs are strongly encouraged to become Khronos Adopters so that their API implementations may access Khronos' API conformance tests, use Khronos' trademarks, and be covered by the Khronos IP umbrella agreement.

Below is a comprehensive listing of all publicly available API specifications, errata, header files, SDKs, whitepapers, and manuals. More detailed information for each API is available on the web page for that API. Khronos Members have early access to all specifications at all levels of development.

OpenGL - The Industry's Foundation for High Performance Graphics

OpenGL 4.0 at a glance

OpenGL version 4.0, released on March 10, 2010, is the twelfth revision since the original version 1.0.

The OpenGL 4.0 specification and the GLSL 4.00 update to the OpenGL Shading language enable developers to access the latest generation of GPU acceleration with significantly enhanced graphics quality, acceleration performance and programming flexibility.

OpenGL 4.0 further improves the close interoperability with OpenCLâ„¢ for accelerating computationally intensive visual applications. OpenGL 4.0 also continues support for both the Core and Compatibility profiles first introduced with OpenGL 3.2, enabling developers to use a streamlined API or retain backwards compatibility for existing OpenGL code, depending on their market needs.

OpenGL 4.0 has been specifically designed to bring significant benefits to application developers, including:

  • two new shader stages that enable the GPU to offload geometry tessellation from the CPU;
  • per-sample fragment shaders and programmable fragment shader input positions for increased rendering quality and anti-aliasing flexibility;
  • drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention;
  • shader subroutines for significantly increased programming flexibility;
  • separation of texture state and texture data through the addition of a new object type called sampler objects;
  • 64-bit double precision floating point shader operations and inputs/outputs for increased rendering accuracy and quality;
  • performance improvements, including instanced geometry shaders, instanced arrays, and a new timer query.

The OpenGL 3.3 and GLSL 3.30 specifications, released at the same time enable as much OpenGL 4.0 functionality as possible on previous generation GPU hardware; providing maximum flexibility and platform coverage for application developers.

API & GLSL specifications

New ARB extensions

Additional Links

Specifications and documentation for the OpenGL API and OpenGL Shading Language, as well as related APIs such as GLX, are available from OpenGL.org.

OpenCL - The open standard for parallel programming of heterogeneous systems

OpenCL 1.0

OpenCL 1.0 at a glance

OpenCL (Open Computing Language) is the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems and handheld devices using a diverse mix of multi-core CPUs, GPUs, Cell-type architectures and other parallel processors such as DSPs.

The OpenCL 1.0 specification and header files are available in the Khronos Registry
The OpenCL 1.0 Quick Reference card.
The OpenCL 1.0 Online Man pages.

OpenGL ES - Accelerated 3D for Embedded Systems

OpenGL ES 1.X - for Fixed Function Hardware

OpenGL ES 1.1 and OpenGL ES 1.1 Extension Pack

For fixed function hardware: OpenGL ES 1.1 is defined relative to the OpenGL 1.5 specification and emphasizes hardware acceleration of the API, but is fully backwards compatible with 1.0. It provides enhanced functionality, improved image quality and optimizations to increase performance while reducing memory bandwidth usage to save power. The OpenGL ES 1.1 Extension Pack is a collection of optional extensions added to OpenGL ES 1.1 that reduced variability and bring significant improvements in image quality and performance. Learn More...

The OpenGL ES 1.1 specification and extension pack, header files, and optional extension specifications are available in the OpenGL ES API Registry.

The OpenGL ES 1.1 and EGL Online Manual Pages are also available.

OpenGL ES 1.1 Extension Pack Specification (.PDF)

OpenGL ES 1.0

OpenGL ES 1.0 is defined relative to the OpenGL 1.3 specification and emphasizes enabling software rendering and basic hardware acceleration using the API.

OpenGL ES 1.0.02 Specification (.PDF, 240 KB)
OpenGL ES 1.0 .h header file (right click to download)

The old OpenGL ES 1.0 and EGL 1.0 Reference Manual is obsolete and has been removed. Please use the OpenGL ES 1.1 Online Manual Pages instead.

OpenGL ES 2.X - for Programmable Hardware

For programmable hardware: OpenGL ES 2.0 is defined relative to the OpenGL 2.0 specification and emphasizes a programmable 3D graphics pipeline with the ability to create shader and program objects and the ability to write vertex and fragment shaders in the OpenGL ES Shading Language. OpenGL ES 2.0 does not support the fixed function transformation and fragment pipeline of OpenGL ES 1.x. Learn More...

The OpenGL ES 2.0 specification, header files, and optional extension specifications
The OpenGL ES 2.0 Online Manual Pages
The OpenGL ES 2.0 Quick Reference Card

OpenGL SC for Safety Critical

OpenGL SC 1.0

For Safety Critial applications: OpenGL SC 1.0 is defined relative to the OpenGL 1.3 specification and is designed to meet the needs of the safety critical market in Avionics, Industrial, Military and Automotive applications including D0178-B certification. Learn More...

OpenGL SC 1.0 at a glance

The Safety Critical Profile for OpenGL is defined to meet the unique requirements of the for safety-critical applications such as avionics and automotive instrumentation displays. OpenGL SC 1.0 removes functionality from OpenGL ES 1.0 to minimize implementation and safety certification costs. It also adds functionality, such as display lists, that are required to support legacy and auto-generated display applications in safety critical markets.

For Safety Critical applications: OpenGL SC 1.0 is defined relative to the OpenGL 1.3 specification and is designed to meet the needs of the safety critical market in Avionics, Industrial, Military and Automotive applications including D0178-B certification.

OpenGL SC Registry

The OpenGL SC 1.0 core API specification and header file, as well as the guiding philosophy document, are in the OpenGL SC API Registry

OpenGL SC API Registry: Core API Specification and Headers

EGL Native Platform Graphics Interface

EGL

EGL at a glance

EGL provides mechanisms for creating rendering surfaces onto which client APIs like OpenGL ES and OpenVG can draw, creates graphics contexts for client APIs, and synchronizes drawing by client APIs as well as native platform rendering APIs. This enables seamless rendering using both OpenGL ES and OpenVG for high-performance, accelerated, mixed-mode 2D and 3D rendering.

EGL (Native Platform Graphics Interface)

EGL Native Platform Graphics Interface is an interface portable layer for graphics resource management - and works between rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. Learn More...

The EGL 1.4 specification, header files, and optional extension specifications are available in the Khronos Registry

COLLADA - for interchange of Digital Assets

COLLADA 1.5

COLLADA 1.5 is the newest specification that provides all of the features found in the stable COLLADA 1.4 schema plus several new features that enable users of CAD, GIS, and Automation applications to enjoy the benefits of open standard royalty free content format.

COLLADA 1.5.0 Specification (Last updated: Oct 2008)
COLLADA 1.5.0 Release Notes
COLLADA 1.5.0 Specification in Japanese (Last updated: May 2009) *NEW*
COLLADA 1.5.0 Release Notes in Japanese *NEW*
COLLADA 1.5.0 Schema (includes B-rep, geolocation, and OpenGL ES 2.0 Profile)

COLLADA 1.4

COLLADA 1.4 is the stable release of the specification that has been widely adopted by the video game, digital entertainment, and GIS industries. This version of COLLADA supports geometry meshes, skinning, morphing, animation, physics, shaders and effects.

COLLADA 1.4.1 Specification (Second edition)
COLLADA 1.4.1 Release Notes (Second edition)
COLLADA 1.4.1 Specification in Japanese
COLLADA 1.4.1 Release Notes Revision B in Japanese
COLLADA 1.4.1 Schema (includes OpenGL ES Profile)

OpenKODE - Source Portability

OpenKODE 1.0

The OpenKODE 1.0.1 core API specification and header files, optional OpenKODE extension specifications and headers, and links to related EGL, OpenGL ES, and OpenVG specifications and extensions, are in the OpenKODE API & Extension Registry

OpenVG - for Vector Graphics Acceleration

OpenVG at a glance

OpenVG 1.0 is an application programming interface (API) for hardware accelerated two-dimensional vector and raster graphics. It provides a device independent and vendor-neutral interface for sophisticated 2D graphical applications, while allowing device manufacturers to provide hardware acceleration on devices ranging from wrist watches to full microprocessor-based desktop and server machines.

OpenVG 1.1, released on December 8th, 2008, adds a Glyph API for hardware accelerated text rendering, full acceleration support for Adobe® Flash® and Flash Lite 3 technologies, and multi-sampled anti-aliasing to the original OpenVG 1.0 specification. The new OpenVG specification is accompanied by an open source reference implementation and a full suite of conformance tests implemented by the Khronos Group.

The OpenVG 1.1 and 1.0 specifications, header files, and reference implementations are available in the OpenVG API & Extension Registry.

OpenMAX - for Streaming Media Portability

OpenMAX IL 1.1 at a glance

The OpenMAX IL (Integration Layer) API defines a standardized media component interface to enable developers and platform providers to integrate and communicate with multimedia codecs implemented in hardware or software.

The OpenMAX IL 1.1.2 specification and header files are available in the Khronos Registry
OpenMax IL component sample (65 KB)
This source code is provided as a sample implementation of a base-profile OpenMax IL component. Although it passed OpenMax conformance tests at the time of publication, this code does not mandate how OpenMax should be implemented; it is simply one example of how OpenMax may be implemented. Because this sample is not being actively maintained and the conformance tests may evolve over time in subsequent revisions, it is possible that this sample will not pass all base profile conformance tests in the future.

OpenMAX IL 1.0

OpenMAX IL 1.0 Specification (.pdf, 1.7 MB)
All OpenMAX IL 1.0 .h header file (.zip, 56 KB)

OpenMAX DL 1.0 at a glance

OpenMAX DL (Development Layer) APIs contains a comprehensive set of audio, video and imaging functions that can be implemented and optimized on new CPUs , hardware engines, and DSPs and then used for a wide range of accelerated codec functionality such as MPEG-4, H.264, MP3, AAC and JPEG.

This version includes clarifications and corrections to the previous version (1.0.1). All implementations should aim to match this version for interoperability.

OpenMAX DL 1.0.2 Specification (.pdf, 1.5 MB)
OpenMAX DL Changelog 1.0.1 -> 1.0.2 (.txt)
OpenMAX DL 1.0.2 redline changes to 1.0.1 -- AVAILABLE SOON -- (.pdf)
All OpenMAX DL 1.0.2.h header file (.zip, 76 KB)
A sample OpenMAX DL 1.0.2 implementation written in C is available for download from ARM.
Optimised OpenMAX DL libraries are available for ARM11 and Cortex-A8 processors from ARM.
Version 1.0.1 headers All OpenMAX DL 1.0.1.h header file (.zip, 70 KB)

OpenMAX AL 1.0.1 at a glance

OpenMAX AL is a royalty-free, cross platform open standard for accelerating the capture, and presentation of audio, video, and images in multimedia applications on embedded and mobile devices. OpenMAX AL includes the ability to create and control player and recorder objects and to connect them to configurable inputs and output objects including content readers/writers, audio inputs and outputs, display windows, cameras, analog radios, LEDs, and vibra devices.

The OpenMAX AL 1.0.1 specification and header files are available in the Khronos Registry

OpenSL ES 1.0.1 - The Standard for Enhanced Audio

OpenSL ES 1.0.1 at a glance

For feedback - please fill in the questionnaire (.doc) / (.txt) and email or alternatively go to the OpenSL ES forums!

The OpenSL ES 1.0.1 specification and header files are available in the Khronos Registry

OpenWF - Composited Windowing System

OpenWF Composition 1.0 at a glance

OpenWF Composition is a royalty-free, cross platform open standard for accelerating composition of multimedia and graphics content. OpenWF Composition includes the ability to autonomously composite streams of pixel data to on-screen and off-screen destinations.

The OpenWF Composition 1.0 specification, header files, and sample implementation are available in the Khronos Registry .

OpenWF Display 1.0 at a glance

OpenWF Display is a royalty-free, cross platform open standard for managing display control hardware. OpenWF Display includes the ability to perform mode-setting on internal and external displays as well as discovery and querying of newly connected displays. Direct pipeline control allows composition of images and streams.

The OpenWF Display 1.0 specification, header files, and sample implementation are available in the Khronos Registry .

OpenML - for Dynamic Media Authoring

OpenML 1.0

Download OpenML 1.0 Specification (.PDF, 866 KB)
OpenML 1.0 Specification Errata (.PDF, 99 KB)

OpenML ML 1.1 Software Development Kit and Manuals

OpenML Reference Implementation SDK and Manuals - ML 1.1 (release July-22-05 hosted on SourceForge)

OpenML SDK ML 1.1 Release Notes (.PDF, 116 KB)
OpenML Media Library Software Development Kit Beginner's Guide (hosted by SGI)
items in Khronos Group More in Khronos Group pool

www.flickr.com

Newsletter sign-up

Enter your email address to subscribe one of our newsletters

Email:  
powdery
All product names are trademarks or registered trademarks of their respective holders.