blob: f13da23a3a6e14c942508183e8f436f0822b25d0 [file] [log] [blame]
Name Strings
GL_OES_texture_half_float_linear, GL_OES_texture_float_linear
Copyright (c) 2005-2014 The Khronos Group Inc. Copyright terms at
Specification Update Policy
Khronos-approved extension specifications are updated in response to
issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
extensions which have been promoted to a core Specification, fixes will
first appear in the latest version of that core Specification, and will
eventually be backported to the extension document. This policy is
described in more detail at
IP Status
Please refer to the ARB_texture_float extension.
Ratified by the Khronos BOP, July 22, 2005.
Revision 3, September 21, 2018
OpenGL ES Extension #35
This extension is written against the OpenGL ES 2.0 Specification.
This extension is derived from the ARB_texture_float extension.
- OES_texture_half_float and OES_texture_float are required.
- OpenGL ES 3.0 is required.
These extensions expand upon the OES_texture_half_float and
OES_texture_float extensions by allowing support for LINEAR
magnification filter and LINEAR, NEAREST_MIPMAP_LINEAR,
When implemented against OpenGL ES 3.0 or later versions, the
existing sized 32-bit floating-point formats become texture-filterable,
but no new formats are added.
( Only when implemented against OpenGL ES 3.0 )
Additions to Chapter 3.8.3 of the OpenGL ES 3.0 Specification
(Texture Image Specification)
Modify Table 3.13, Correspondence of sized internal color formats to base internal format:
Check the ``Texture-filterable'' column for the R32F, RG32F, RGB32F, and RGBA32F formats.
(1) Can you explain the interactions with OpenGL ES 3.x in more detail?
OES_texture_float was written against OpenGL ES 2.0 and adds a set of
new unsized formats, including floating-point versions of LUMINANCE and
OES_texture_float_linear and OES_texture_half_float_linear makes these
formats filterable for FLOAT and HALF_FLOAT_OES types, respectively.
OpenGL ES 3.0 added sized internal formats. The unsized formats and
the LUMINANCE formats are considered legacy formats. Floating point
versions of these formats were therefore not added in OpenGL ES 3.0.
Further, OpenGL ES 3.0 requires that the required floating-point
formats with 16-bits per component ('half-float') are filterable, but
does not support filtering for floating-point formats with 32-bits per
Some OpenGL ES 3.0 implementations want a way to indicate that the
required floating-point formats with 32-bit per component are also
filterable _without_ adding the additional unsized formats from
OES_texture_float. This is achieved by exposing this extension without
exposing OES_texture_float.
For an OpenGL ES 3.0 implementation, the following holds for the
combination of the OES_texture_float, OES_texture_float_linear,
and OES_texture_half_float_linear extensions:
- If none of these extensions are supported:
- floating-point formats with 32-bit per component are not filterable
- floating-point formats with 16-bit per component are filterable
- If OES_texture_float_linear is supported:
- all floating-point formats in Table 3.13 are filterable
- If OES_texture_float and OES_texture_float_linear are supported:
- all floating-point formats in Table 3.13 are filterable
- all formats of type FLOAT added by OES_texture_float are filterable
- If OES_texture_half_float and OES_texture_half_float_linear are
- all floating-point formats in Table 3.13 are filterable
- all formats of type HALF_FLOAT_OES added by OES_texture_half_float
are filterable
New Procedures and Functions
New Tokens
Revision History
07/06/2005 0.1 Original draft
10/29/2014 2 Add interactions with ES 3.0/3.1.
09/21/2018 3 Clarified interactions with ES 3.x.