GL_EXT_color_buffer_float#

Supported Hardware#

Series6, Series6XE, Series6XT

Valid APIs#

OpenGL ES 3.x

Description#

Rendering to a floating-point buffer has been a core part of the desktop GL specification for a long time now but was not included in the OpenGL ES 3.0 specification. This extension adds that functionality to ES3.0 class hardware, allowing users to output floating point values from fragments, enabling things like HDR rendering and advanced post-processing techniques that need a higher range or precision than fixed point values provide.

Example#

// Create a floating point colour buffer (texture)
GLint floatingPointColourBuffer = glTexStorage(GL_TEXTURE_2D, 1, GL_RGBA32F, 1024, 1024);
// Attach it to a framebuffer. This would usually result in an incomplete framebuffer without
// this extension.
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, floatingPointColourBuffer, 0);