• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    OES_texture_half_float_linear
4    OES_texture_float_linear
5
6Name Strings
7
8    GL_OES_texture_half_float_linear, GL_OES_texture_float_linear
9
10Contact
11
12
13Notice
14
15    Copyright (c) 2005-2014 The Khronos Group Inc. Copyright terms at
16        http://www.khronos.org/registry/speccopyright.html
17
18Specification Update Policy
19
20    Khronos-approved extension specifications are updated in response to
21    issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
22    extensions which have been promoted to a core Specification, fixes will
23    first appear in the latest version of that core Specification, and will
24    eventually be backported to the extension document. This policy is
25    described in more detail at
26        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
27
28IP Status
29
30    Please refer to the ARB_texture_float extension.
31
32Status
33
34    Ratified by the Khronos BOP, July 22, 2005.
35
36Version
37
38    Revision 3, September 21, 2018
39
40Number
41
42    OpenGL ES Extension #35
43
44Dependencies
45
46    This extension is written against the OpenGL ES 2.0 Specification.
47
48    This extension is derived from the ARB_texture_float extension.
49
50    Either
51     - OES_texture_half_float and OES_texture_float are required.
52    or
53     - OpenGL ES 3.0 is required.
54
55Overview
56
57    These extensions expand upon the OES_texture_half_float and
58    OES_texture_float extensions by allowing support for LINEAR
59    magnification filter and LINEAR, NEAREST_MIPMAP_LINEAR,
60    LINEAR_MIPMAP_NEAREST and LINEAR_MIPMAP_NEAREST minification
61    filters.
62
63    When implemented against OpenGL ES 3.0 or later versions, the
64    existing sized 32-bit floating-point formats become texture-filterable,
65    but no new formats are added.
66
67
68(  Only when implemented against OpenGL ES 3.0  )
69
70Additions to Chapter 3.8.3 of the OpenGL ES 3.0 Specification
71(Texture Image Specification)
72
73    Modify Table 3.13, Correspondence of sized internal color formats to base internal format:
74
75    Check the ``Texture-filterable'' column for the R32F, RG32F, RGB32F, and RGBA32F formats.
76
77
78Issues
79
80   (1) Can you explain the interactions with OpenGL ES 3.x in more detail?
81
82      OES_texture_float was written against OpenGL ES 2.0 and adds a set of
83      new unsized formats, including floating-point versions of LUMINANCE and
84      LUMINANCE_ALPHA formats.
85
86      OES_texture_float_linear and OES_texture_half_float_linear makes these
87      formats filterable for FLOAT and HALF_FLOAT_OES types, respectively.
88
89      OpenGL ES 3.0 added sized internal formats. The unsized formats and
90      the LUMINANCE formats are considered legacy formats. Floating point
91      versions of these formats were therefore not added in OpenGL ES 3.0.
92
93      Further, OpenGL ES 3.0 requires that the required floating-point
94      formats with 16-bits per component ('half-float') are filterable, but
95      does not support filtering for floating-point formats with 32-bits per
96      component.
97
98      Some OpenGL ES 3.0 implementations want a way to indicate that the
99      required floating-point formats with 32-bit per component are also
100      filterable _without_ adding the additional unsized formats from
101      OES_texture_float. This is achieved by exposing this extension without
102      exposing OES_texture_float.
103
104      For an OpenGL ES 3.0 implementation, the following holds for the
105      combination of the OES_texture_float, OES_texture_float_linear,
106      and OES_texture_half_float_linear extensions:
107
108        - If none of these extensions are supported:
109           - floating-point formats with 32-bit per component are not filterable
110           - floating-point formats with 16-bit per component are filterable
111
112        - If OES_texture_float_linear is supported:
113           - all floating-point formats in Table 3.13 are filterable
114
115        - If OES_texture_float and OES_texture_float_linear are supported:
116           - all floating-point formats in Table 3.13 are filterable
117           - all formats of type FLOAT added by OES_texture_float are filterable
118
119        - If OES_texture_half_float and OES_texture_half_float_linear are
120           supported:
121           - all floating-point formats in Table 3.13 are filterable
122           - all formats of type HALF_FLOAT_OES added by OES_texture_half_float
123             are filterable
124
125New Procedures and Functions
126
127   None
128
129New Tokens
130
131   None
132
133Revision History
134
135    07/06/2005  0.1   Original draft
136
137    10/29/2014  2     Add interactions with ES 3.0/3.1.
138
139    09/21/2018  3     Clarified interactions with ES 3.x.
140