• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.