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);