Name ANGLE_copy_texture_3d Name Strings GL_ANGLE_copy_texture_3d Contributors Brandon Jones, Intel Contacts Brandon Jones, Intel (brandon1.jones 'at' intel 'dot' com) Status Implemented. Version Version 1, 2018-8-8 Dependencies OpenGL ES 3.0 required. Overview This extension adds 3D texture support to the functionality provided by the CHROMIUM_copy_texture extension. Two new functions are exported, glCopyTexture3DANGLE and glCopySubTexture3DANGLE that perform the same copy operations as glCopyTextureCHROMIUM and glCopySubTextureCHROMIUM, respectively, on GL_TEXTURE_3D and GL_TEXTURE_2D_ARRAY bound textures. New Procedures and Functions void CopyTexture3DANGLE(uint sourceId, int sourceLevel, enum destTarget, uint destId, int destLevel, int internalFormat, enum destType, boolean unpackFlipY, boolean unpackPremultiplyAlpha, boolean unpackUnmultiplyAlpha) void CopySubTexture3DANGLE(uint sourceId, int sourceLevel, enum destTarget, uint destId, int destLevel, int xoffset, int yoffset, int zoffset, int x, int y, int z, sizei width, sizei height, sizei depth, boolean unpackFlipY, boolean unpackPremultiplyAlpha, boolean unpackUnmultiplyAlpha) Additions to the OpenGL ES 3.0 Specification The command CopyTexture3DANGLE All CopyTexture3DANGLE behavior is the same as CopyTextureCHROMIUM unless otherwise defined below. When source texture doesn't contain a superset of the component required by , fill the components by the following rules. source format color components ---------------------------------------- RED (R, 0, 0, 1) RED_INTEGER (R, 0, 0, 1) RG (R, G, 0, 1) RG_INTEGER (R, G, 0, 1) RGB (R, G, B, 1) RGB_INTEGER (R, G, B, 1) RGBA (R, G, B, A) RGBA_INTEGER (R, G, B, A) LUMINANCE_ALPHA (L, L, L, A) LUMINANCE (L, L, L, 1) ALPHA (0, 0, 0, A) INVALID_OPERATION is generated if the format of is not one of formats in Table 1.1. INVALID_ENUM is generated if is not TEXTURE_3D or TEXTURE_2D_ARRAY. INVALID_VALUE is generated if the texture corresponding to has not been bound as . INVALID_OPERATION is generated if is not one of the sized internal formats in Table 1.0. The command CopySubTexture3DANGLE All CopySubTexture3DANGLE behavior is the same as CopySubTextureCHROMIUM unless otherwise defined below. specifies a texel offset in the z direction respectively within the destination texture. specifies a texel offset in the z direction respectively within the source texture. specifies the depth of the texture subimage. INVALID_ENUM is generated if is not TEXTURE_3D or TEXTURE_2D_ARRAY. INVALID_VALUE is generated if the texture corresponding to and have not been bound as . INVALID_VALUE is generated if either texture or texture is not defined. INVALID_OPERATION is generated if the format of or is not one of formats in Table 1.1. INVALID_VALUE is generated if zoffset is less than 0. INVALID_VALUE is generated if z is less than 0. INVALID_VALUE is generated if depth is less than 0. INVALID_VALUE is generated if ( + ) > srcDepth. INVALID_VALUE is generated if ( + ) > destDepth. Table 1.0 internal formats for CopyTexture3DANGLE: --------------- RGB RGBA LUMINANCE LUMINANCE_ALPHA ALPHA R8 R8_SNORM R16F R32F R8UI R8I R16UI R16I R32UI R32I RG8 RG8_SNORM RG16F RG32F RG8UI RG8I RG16UI RG16I RG32UI RG32I RGB8 SRGB8 RGB565 RGB8_SNORM R11F_G11F_B10F RGB9_E5 RGB16F RGB32F RGB8UI RGB8I RGB16UI RGB16I RGB32UI RGB32I RGBA8 SRGB8_ALPHA8 RGBA8_SNORM RGB5_A1 RGBA4 RGB10_A2 RGBA16F RGBA32F RGBA8UI RGBA8I RGB10_A2UI RGBA16UI RGBA16I RGBA32I RGBA32UI Table 1.1 Valid source texture formats for CopyTexture3DANGLE and source and destination formats for CopySubTexture3DANGLE: Format --------------- RED RED_INTEGER RG RG_INTEGER RGB RGB_INTEGER RGBA RGBA_INTEGER LUMINANCE_ALPHA LUMINANCE ALPHA Revision History Version 1, 2018-8-8 (Brandon Jones) - Initial implementation.