1Name 2 3 ANGLE_copy_texture_3d 4 5Name Strings 6 7 GL_ANGLE_copy_texture_3d 8 9Contributors 10 11 Brandon Jones, Intel 12 13Contacts 14 15 Brandon Jones, Intel (brandon1.jones 'at' intel 'dot' com) 16 17Status 18 19 Implemented. 20 21Version 22 23 Version 1, 2018-8-8 24 25Dependencies 26 27 OpenGL ES 3.0 required. 28 29Overview 30 31 This extension adds 3D texture support to the functionality 32 provided by the CHROMIUM_copy_texture extension. Two new 33 functions are exported, glCopyTexture3DANGLE and 34 glCopySubTexture3DANGLE that perform the same copy operations as 35 glCopyTextureCHROMIUM and glCopySubTextureCHROMIUM, respectively, 36 on GL_TEXTURE_3D and GL_TEXTURE_2D_ARRAY bound textures. 37 38New Procedures and Functions 39 40 void CopyTexture3DANGLE(uint sourceId, 41 int sourceLevel, 42 enum destTarget, 43 uint destId, 44 int destLevel, 45 int internalFormat, 46 enum destType, 47 boolean unpackFlipY, 48 boolean unpackPremultiplyAlpha, 49 boolean unpackUnmultiplyAlpha) 50 51 void CopySubTexture3DANGLE(uint sourceId, 52 int sourceLevel, 53 enum destTarget, 54 uint destId, 55 int destLevel, 56 int xoffset, 57 int yoffset, 58 int zoffset, 59 int x, 60 int y, 61 int z, 62 sizei width, 63 sizei height, 64 sizei depth, 65 boolean unpackFlipY, 66 boolean unpackPremultiplyAlpha, 67 boolean unpackUnmultiplyAlpha) 68 69Additions to the OpenGL ES 3.0 Specification 70 71 The command 72 73 CopyTexture3DANGLE 74 75 All CopyTexture3DANGLE behavior is the same as 76 CopyTextureCHROMIUM unless otherwise defined below. 77 78 When source texture doesn't contain a superset of the component 79 required by <internalFormat>, fill the components by the 80 following rules. 81 82 source format color components 83 ---------------------------------------- 84 RED (R, 0, 0, 1) 85 RED_INTEGER (R, 0, 0, 1) 86 RG (R, G, 0, 1) 87 RG_INTEGER (R, G, 0, 1) 88 RGB (R, G, B, 1) 89 RGB_INTEGER (R, G, B, 1) 90 RGBA (R, G, B, A) 91 RGBA_INTEGER (R, G, B, A) 92 LUMINANCE_ALPHA (L, L, L, A) 93 LUMINANCE (L, L, L, 1) 94 ALPHA (0, 0, 0, A) 95 96 INVALID_OPERATION is generated if the format of <sourceId> is not 97 one of formats in Table 1.1. 98 99 INVALID_ENUM is generated if <destTarget> is not TEXTURE_3D or 100 TEXTURE_2D_ARRAY. 101 102 INVALID_VALUE is generated if the texture corresponding to 103 <sourceId> has not been bound as <destTarget>. 104 105 INVALID_OPERATION is generated if <internalFormat> is not one of 106 the sized internal formats in Table 1.0. 107 108 The command 109 110 CopySubTexture3DANGLE 111 112 All CopySubTexture3DANGLE behavior is the same as 113 CopySubTextureCHROMIUM unless otherwise defined below. 114 115 <zoffset> specifies a texel offset in the z direction 116 respectively within the destination texture. 117 118 <z> specifies a texel offset in the z direction respectively 119 within the source texture. 120 121 <depth> specifies the depth of the texture subimage. 122 123 INVALID_ENUM is generated if <destTarget> is not TEXTURE_3D or 124 TEXTURE_2D_ARRAY. 125 126 INVALID_VALUE is generated if the texture corresponding to 127 <sourceId> and <destId> have not been bound as <destTarget>. 128 129 INVALID_VALUE is generated if either <sourceId> texture or 130 <destId> texture is not defined. 131 132 INVALID_OPERATION is generated if the format of <sourceId> or 133 <destId> is not one of formats in Table 1.1. 134 135 INVALID_VALUE is generated if zoffset is less than 0. 136 137 INVALID_VALUE is generated if z is less than 0. 138 139 INVALID_VALUE is generated if depth is less than 0. 140 141 INVALID_VALUE is generated if (<z> + <depth>) > srcDepth. 142 143 INVALID_VALUE is generated if (<zoffset> + <depth>) > destDepth. 144 145 Table 1.0 internal formats for CopyTexture3DANGLE: 146 147 <internalFormat> 148 --------------- 149 RGB 150 RGBA 151 LUMINANCE 152 LUMINANCE_ALPHA 153 ALPHA 154 R8 155 R8_SNORM 156 R16F 157 R32F 158 R8UI 159 R8I 160 R16UI 161 R16I 162 R32UI 163 R32I 164 RG8 165 RG8_SNORM 166 RG16F 167 RG32F 168 RG8UI 169 RG8I 170 RG16UI 171 RG16I 172 RG32UI 173 RG32I 174 RGB8 175 SRGB8 176 RGB565 177 RGB8_SNORM 178 R11F_G11F_B10F 179 RGB9_E5 180 RGB16F 181 RGB32F 182 RGB8UI 183 RGB8I 184 RGB16UI 185 RGB16I 186 RGB32UI 187 RGB32I 188 RGBA8 189 SRGB8_ALPHA8 190 RGBA8_SNORM 191 RGB5_A1 192 RGBA4 193 RGB10_A2 194 RGBA16F 195 RGBA32F 196 RGBA8UI 197 RGBA8I 198 RGB10_A2UI 199 RGBA16UI 200 RGBA16I 201 RGBA32I 202 RGBA32UI 203 204 Table 1.1 Valid source texture formats for 205 CopyTexture3DANGLE and source and destination formats for 206 CopySubTexture3DANGLE: 207 208 Format 209 --------------- 210 RED 211 RED_INTEGER 212 RG 213 RG_INTEGER 214 RGB 215 RGB_INTEGER 216 RGBA 217 RGBA_INTEGER 218 LUMINANCE_ALPHA 219 LUMINANCE 220 ALPHA 221 222Revision History 223 224 Version 1, 2018-8-8 (Brandon Jones) 225 - Initial implementation.