Name

    CHROMIUM_color_buffer_float_rgba

Name Strings

    GL_CHROMIUM_color_buffer_float_rgba

Version

    Last Modifed Date: February 7, 2014

Dependencies

    This extension is written against the OpenGL ES 2.0 specification.

    OpenGL ES 2.0 is required.

    OES_texture_float is required.

Overview

    This extension implements a subset of EXT_color_buffer_float on top of
    OpenGL ES 2.0.

    This extension enables rendering to floating point RGBA textures. When
    this extension is enabled:

    * The 32-bit floating point type GL_RGBA32F becomes available as a
      color-renderable internal format. Textures created with type = FLOAT,
      and internal format GL_RGBA32F, can be attached to framebuffer object
      color attachments for rendering.

    * GL_RGBA / GL_RGBA32F becomes an allowable format / internalformat
      parameter pair for TexImage2D. The restriction in section 3.7.1 of the
      OpenGL ES 2.0 spec that the internalformat parameter and format parameter
      of TexImage2D must match is lifted for this case.

    Floating point RGBA textures may still be created also with the unsized
    GL_RGBA internal format, but whether such textures are renderable is not
    guaranteed.

New Tokens

    Accepted by the <internalformat> parameter of TexImage2D:

    GL_RGBA32F      0x8814

New Procedures and Functions

    None.

Errors

    None.

New State

    None.

Revision History

    2/7/2014    Documented the extension

