1Name 2 ARM_texture_unnormalized_coordinates 3 4Name Strings 5 6 GL_ARM_texture_unnormalized_coordinates 7 8Contact 9 10 Jan-Harald Fredriksen ( jan-harald.fredriksen 'at' arm.com) 11 12Contributors 13 14 Jan-Harald Fredriksen, ARM 15 16Status 17 18 Complete 19 20Version 21 22 Last Modified Date: December 17, 2019 23 Revision: 1 24 25Number 26 27 324 28 29Dependencies 30 31 OpenGL ES 3.0 is required. 32 This extension is written against OpenGL ES 3.2, May 14th 2018. 33 34Overview 35 36 This extension provides the option to switch to unnormalized 37 coordinates for texture lookups using a sampler parameter. 38 39 Texture lookup in OpenGL ES is done using normalized coordinates. For 40 certain applications it is convenient to work with non-normalized 41 coordinates instead. It also beneficial to keep support for bilinear 42 filtering. 43 44 Additional restrictions apply to textures with non-normalized 45 coordinates that affect texture completeness and the available 46 texture lookup functions. 47 48IP Status 49 50 No known IP claims. 51 52New Procedures and Functions 53 54 None 55 56New Tokens 57 58 Accepted by the <pname> parameter of TexParameteri, TexParameterf, 59 TexParameteriv, TexParameterfv, SamplerParameteri, SamplerParameterf, 60 SamplerParameteriv, SamplerParameterfv, TexParameterIivEXT, 61 TexParameterIuivEXT, SamplerParameterIivEXT, SamplerParameterIuivEXT, 62 GetTexParameteriv, GetTexParameterfv, GetTexParameterIivEXT, 63 GetTexParameterIuivEXT, GetSamplerParameteriv, GetSamplerParameterfv, 64 GetSamplerParameterIivEXT, and GetSamplerParameterIuivEXT: 65 66 TEXTURE_UNNORMALIZED_COORDINATES_ARM 0x8F6A 67 68Additions to Chapter 8 of the OpenGL ES 3.2 Specification (Textures and Samplers) 69 70 Add a section after section 8.15 (Texture Magnification) 71 72 8.xx Unnormalized coordinates 73 74 If the value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, then the range 75 of the coordinates used to lookup the texture value is in the range of zero 76 to the texture dimensions for x, y and z, rather than in the range of zero 77 to one. 78 79 When the value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, 80 equation 8.9 is not used. Instead, let 81 u(x; y) = s(x; y) 82 v(x; y) = t(x; y) 83 w(x; y) = r(x; y) 84 85 When the value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, results of 86 a texture lookup are undefined if any of the following conditions is true: 87 - the texture access is performed with a lookup functions that supports 88 texel offsets 89 - the texture access is performed with a lookup functions with projection 90 91 92 Add to 8.17 Texture Completeness 93 94 Add to the conditions for texture completeness below "Using the preceding 95 definitions, a texture is complete unless any of the following conditions 96 hold true:": 97 98 * The value of TEXTURE_UNNORMALIZED_COORDINATES_ARM is TRUE, and any of 99 ** the texture is not a two-dimensional texture 100 ** the minification filter is not NEAREST 101 ** the magnification is not NEAREST 102 ** the value of TEXTURE_BASE_LEVEL is not 0 103 ** the value of TEXTURE_WRAP_S and TEXTURE_WRAP_T is not CLAMP_TO_EDGE nor CLAMP_TO_BORDER 104 ** the value of TEXTURE_COMPARE_MODE is not NONE 105 106Errors 107 108 None. 109 110New State 111 112 Modify Table 21.12: Textures (state per sampler object) 113 114 Add the following parameter: 115 116 Get Value Type Get Command Value Description Sec. 117 ------------------------------------- ----- ------------------- ------- ------------------- ---- 118 TEXTURE_UNNORMALIZED_COORDINATES_ARM B GetSamplerParameter FALSE unnormalized coords 8.xx 119 120New Implementation Dependent State 121 122 None 123 124Issues 125 126 None 127 128Revision History 129 130 Rev. Date Author Changes 131 ---- ---------- -------- ----------------------------------------- 132 1 2019-12-17 jhf initial version 133