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