@luma.gl/constants 9.0.0-alpha.9 → 9.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,51 +1,85 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  /* eslint-disable key-spacing, max-len, no-inline-comments, camelcase */
2
6
 
3
- /**
4
- * Standard WebGL and WebGL2 constants
5
- * These constants are also defined on the WebGLRenderingContext interface.
7
+ /**
8
+ * Standard WebGL, WebGL2 and extension constants (OpenGL constants)
9
+ * @note (Most) of these constants are also defined on the WebGLRenderingContext interface.
10
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants
11
+ * @privateRemarks Locally called `GLEnum` instead of `GL`, because `babel-plugin-inline-webl-constants`
12
+ * both depends on and processes this module, but shouldn't replace these declarations.
6
13
  */
7
- export enum GL {
14
+ enum GLEnum {
8
15
  // Clearing buffers
9
16
  // Constants passed to clear() to clear buffer masks.
10
17
 
18
+ /** Passed to clear to clear the current depth buffer. */
11
19
  DEPTH_BUFFER_BIT = 0x00000100,
20
+ /** Passed to clear to clear the current stencil buffer. */
12
21
  STENCIL_BUFFER_BIT = 0x00000400,
22
+ /** Passed to clear to clear the current color buffer. */
13
23
  COLOR_BUFFER_BIT = 0x00004000,
14
24
 
15
25
  // Rendering primitives
16
26
  // Constants passed to drawElements() or drawArrays() to specify what kind of primitive to render.
17
27
 
28
+ /** Passed to drawElements or drawArrays to draw single points. */
18
29
  POINTS = 0x0000,
30
+ /** Passed to drawElements or drawArrays to draw lines. Each vertex connects to the one after it. */
19
31
  LINES = 0x0001,
32
+ /** Passed to drawElements or drawArrays to draw lines. Each set of two vertices is treated as a separate line segment. */
20
33
  LINE_LOOP = 0x0002,
34
+ /** Passed to drawElements or drawArrays to draw a connected group of line segments from the first vertex to the last. */
21
35
  LINE_STRIP = 0x0003,
36
+ /** Passed to drawElements or drawArrays to draw triangles. Each set of three vertices creates a separate triangle. */
22
37
  TRIANGLES = 0x0004,
38
+ /** Passed to drawElements or drawArrays to draw a connected group of triangles. */
23
39
  TRIANGLE_STRIP = 0x0005,
40
+ /** Passed to drawElements or drawArrays to draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan. */
24
41
  TRIANGLE_FAN = 0x0006,
25
42
 
26
43
  // Blending modes
27
44
  // Constants passed to blendFunc() or blendFuncSeparate() to specify the blending mode (for both, RBG and alpha, or separately).
28
-
45
+ /** Passed to blendFunc or blendFuncSeparate to turn off a component. */
29
46
  ZERO = 0,
47
+ /** Passed to blendFunc or blendFuncSeparate to turn on a component. */
30
48
  ONE = 1,
49
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by the source elements color. */
31
50
  SRC_COLOR = 0x0300,
51
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the source elements color. */
32
52
  ONE_MINUS_SRC_COLOR = 0x0301,
53
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by the source's alpha. */
33
54
  SRC_ALPHA = 0x0302,
55
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the source's alpha. */
34
56
  ONE_MINUS_SRC_ALPHA = 0x0303,
57
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by the destination's alpha. */
35
58
  DST_ALPHA = 0x0304,
59
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the destination's alpha. */
36
60
  ONE_MINUS_DST_ALPHA = 0x0305,
61
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by the destination's color. */
37
62
  DST_COLOR = 0x0306,
63
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the destination's color. */
38
64
  ONE_MINUS_DST_COLOR = 0x0307,
65
+ /** Passed to blendFunc or blendFuncSeparate to multiply a component by the minimum of source's alpha or one minus the destination's alpha. */
39
66
  SRC_ALPHA_SATURATE = 0x0308,
67
+ /** Passed to blendFunc or blendFuncSeparate to specify a constant color blend function. */
40
68
  CONSTANT_COLOR = 0x8001,
69
+ /** Passed to blendFunc or blendFuncSeparate to specify one minus a constant color blend function. */
41
70
  ONE_MINUS_CONSTANT_COLOR = 0x8002,
71
+ /** Passed to blendFunc or blendFuncSeparate to specify a constant alpha blend function. */
42
72
  CONSTANT_ALPHA = 0x8003,
73
+ /** Passed to blendFunc or blendFuncSeparate to specify one minus a constant alpha blend function. */
43
74
  ONE_MINUS_CONSTANT_ALPHA = 0x8004,
44
75
 
45
76
  // Blending equations
46
77
  // Constants passed to blendEquation() or blendEquationSeparate() to control
47
78
  // how the blending is calculated (for both, RBG and alpha, or separately).
48
79
 
80
+ /** Passed to blendEquation or blendEquationSeparate to set an addition blend function. */
81
+ /** Passed to blendEquation or blendEquationSeparate to specify a subtraction blend function (source - destination). */
82
+ /** Passed to blendEquation or blendEquationSeparate to specify a reverse subtraction blend function (destination - source). */
49
83
  FUNC_ADD = 0x8006,
50
84
  FUNC_SUBTRACT = 0x800a,
51
85
  FUNC_REVERSE_SUBTRACT = 0x800b,
@@ -53,30 +87,57 @@ export enum GL {
53
87
  // Getting GL parameter information
54
88
  // Constants passed to getParameter() to specify what information to return.
55
89
 
90
+ /** Passed to getParameter to get the current RGB blend function. */
56
91
  BLEND_EQUATION = 0x8009,
92
+ /** Passed to getParameter to get the current RGB blend function. Same as BLEND_EQUATION */
57
93
  BLEND_EQUATION_RGB = 0x8009,
94
+ /** Passed to getParameter to get the current alpha blend function. Same as BLEND_EQUATION */
58
95
  BLEND_EQUATION_ALPHA = 0x883d,
96
+ /** Passed to getParameter to get the current destination RGB blend function. */
59
97
  BLEND_DST_RGB = 0x80c8,
98
+ /** Passed to getParameter to get the current destination RGB blend function. */
60
99
  BLEND_SRC_RGB = 0x80c9,
100
+ /** Passed to getParameter to get the current destination alpha blend function. */
61
101
  BLEND_DST_ALPHA = 0x80ca,
102
+ /** Passed to getParameter to get the current source alpha blend function. */
62
103
  BLEND_SRC_ALPHA = 0x80cb,
104
+
105
+ /** Passed to getParameter to return a the current blend color. */
63
106
  BLEND_COLOR = 0x8005,
107
+ /** Passed to getParameter to get the array buffer binding. */
64
108
  ARRAY_BUFFER_BINDING = 0x8894,
109
+ /** Passed to getParameter to get the current element array buffer. */
65
110
  ELEMENT_ARRAY_BUFFER_BINDING = 0x8895,
111
+ /** Passed to getParameter to get the current lineWidth (set by the lineWidth method). */
66
112
  LINE_WIDTH = 0x0b21,
113
+ /** Passed to getParameter to get the current size of a point drawn with gl.POINTS */
67
114
  ALIASED_POINT_SIZE_RANGE = 0x846d,
115
+ /** Passed to getParameter to get the range of available widths for a line. Returns a length-2 array with the lo value at 0, and hight at 1. */
68
116
  ALIASED_LINE_WIDTH_RANGE = 0x846e,
117
+ /** Passed to getParameter to get the current value of cullFace. Should return FRONT, BACK, or FRONT_AND_BACK */
69
118
  CULL_FACE_MODE = 0x0b45,
119
+ /** Passed to getParameter to determine the current value of frontFace. Should return CW or CCW. */
70
120
  FRONT_FACE = 0x0b46,
121
+ /** Passed to getParameter to return a length-2 array of floats giving the current depth range. */
71
122
  DEPTH_RANGE = 0x0b70,
123
+ /** Passed to getParameter to determine if the depth write mask is enabled. */
124
+
72
125
  DEPTH_WRITEMASK = 0x0b72,
126
+ /** Passed to getParameter to determine the current depth clear value. */
73
127
  DEPTH_CLEAR_VALUE = 0x0b73,
128
+ /** Passed to getParameter to get the current depth function. Returns NEVER, ALWAYS, LESS, EQUAL, LEQUAL, GREATER, GEQUAL, or NOTEQUAL. */
74
129
  DEPTH_FUNC = 0x0b74,
130
+ /** Passed to getParameter to get the value the stencil will be cleared to. */
75
131
  STENCIL_CLEAR_VALUE = 0x0b91,
132
+ /** Passed to getParameter to get the current stencil function. Returns NEVER, ALWAYS, LESS, EQUAL, LEQUAL, GREATER, GEQUAL, or NOTEQUAL. */
76
133
  STENCIL_FUNC = 0x0b92,
134
+ /** Passed to getParameter to get the current stencil fail function. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP. */
77
135
  STENCIL_FAIL = 0x0b94,
136
+ /** Passed to getParameter to get the current stencil fail function should the depth buffer test fail. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP. */
78
137
  STENCIL_PASS_DEPTH_FAIL = 0x0b95,
138
+ /** Passed to getParameter to get the current stencil fail function should the depth buffer test pass. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP. */
79
139
  STENCIL_PASS_DEPTH_PASS = 0x0b96,
140
+ /** Passed to getParameter to get the reference value used for stencil tests. */
80
141
  STENCIL_REF = 0x0b97,
81
142
  STENCIL_VALUE_MASK = 0x0b93,
82
143
  STENCIL_WRITEMASK = 0x0b98,
@@ -87,7 +148,10 @@ export enum GL {
87
148
  STENCIL_BACK_REF = 0x8ca3,
88
149
  STENCIL_BACK_VALUE_MASK = 0x8ca4,
89
150
  STENCIL_BACK_WRITEMASK = 0x8ca5,
151
+
152
+ /** An Int32Array with four elements for the current viewport dimensions. */
90
153
  VIEWPORT = 0x0ba2,
154
+ /** An Int32Array with four elements for the current scissor box dimensions. */
91
155
  SCISSOR_BOX = 0x0c10,
92
156
  COLOR_CLEAR_VALUE = 0x0c22,
93
157
  COLOR_WRITEMASK = 0x0c23,
@@ -121,17 +185,25 @@ export enum GL {
121
185
  // Constants passed to bufferData(), bufferSubData(), bindBuffer(), or
122
186
  // getBufferParameter().
123
187
 
188
+ /** Passed to bufferData as a hint about whether the contents of the buffer are likely to be used often and not change often. */
124
189
  STATIC_DRAW = 0x88e4,
190
+ /** Passed to bufferData as a hint about whether the contents of the buffer are likely to not be used often. */
125
191
  STREAM_DRAW = 0x88e0,
192
+ /** Passed to bufferData as a hint about whether the contents of the buffer are likely to be used often and change often. */
126
193
  DYNAMIC_DRAW = 0x88e8,
194
+ /** Passed to bindBuffer or bufferData to specify the type of buffer being used. */
127
195
  ARRAY_BUFFER = 0x8892,
196
+ /** Passed to bindBuffer or bufferData to specify the type of buffer being used. */
128
197
  ELEMENT_ARRAY_BUFFER = 0x8893,
198
+ /** Passed to getBufferParameter to get a buffer's size. */
129
199
  BUFFER_SIZE = 0x8764,
200
+ /** Passed to getBufferParameter to get the hint for the buffer passed in when it was created. */
130
201
  BUFFER_USAGE = 0x8765,
131
202
 
132
203
  // Vertex attributes
133
204
  // Constants passed to getVertexAttrib().
134
205
 
206
+ /** Passed to getVertexAttrib to read back the current vertex attribute. */
135
207
  CURRENT_VERTEX_ATTRIB = 0x8626,
136
208
  VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622,
137
209
  VERTEX_ATTRIB_ARRAY_SIZE = 0x8623,
@@ -144,45 +216,69 @@ export enum GL {
144
216
  // Culling
145
217
  // Constants passed to cullFace().
146
218
 
219
+ /** Passed to enable/disable to turn on/off culling. Can also be used with getParameter to find the current culling method. */
147
220
  CULL_FACE = 0x0b44,
221
+ /** Passed to cullFace to specify that only front faces should be culled. */
148
222
  FRONT = 0x0404,
223
+ /** Passed to cullFace to specify that only back faces should be culled. */
149
224
  BACK = 0x0405,
225
+ /** Passed to cullFace to specify that front and back faces should be culled. */
150
226
  FRONT_AND_BACK = 0x0408,
151
227
 
152
228
  // Enabling and disabling
153
229
  // Constants passed to enable() or disable().
154
230
 
231
+ /** Passed to enable/disable to turn on/off blending. Can also be used with getParameter to find the current blending method. */
155
232
  BLEND = 0x0be2,
233
+ /** Passed to enable/disable to turn on/off the depth test. Can also be used with getParameter to query the depth test. */
156
234
  DEPTH_TEST = 0x0b71,
235
+ /** Passed to enable/disable to turn on/off dithering. Can also be used with getParameter to find the current dithering method. */
157
236
  DITHER = 0x0bd0,
237
+ /** Passed to enable/disable to turn on/off the polygon offset. Useful for rendering hidden-line images, decals, and or solids with highlighted edges. Can also be used with getParameter to query the scissor test. */
158
238
  POLYGON_OFFSET_FILL = 0x8037,
239
+ /** Passed to enable/disable to turn on/off the alpha to coverage. Used in multi-sampling alpha channels. */
159
240
  SAMPLE_ALPHA_TO_COVERAGE = 0x809e,
241
+ /** Passed to enable/disable to turn on/off the sample coverage. Used in multi-sampling. */
160
242
  SAMPLE_COVERAGE = 0x80a0,
243
+ /** Passed to enable/disable to turn on/off the scissor test. Can also be used with getParameter to query the scissor test. */
161
244
  SCISSOR_TEST = 0x0c11,
245
+ /** Passed to enable/disable to turn on/off the stencil test. Can also be used with getParameter to query the stencil test. */
162
246
  STENCIL_TEST = 0x0b90,
163
247
 
164
248
  // Errors
165
249
  // Constants returned from getError().
166
250
 
251
+ /** Returned from getError(). */
167
252
  NO_ERROR = 0,
253
+ /** Returned from getError(). */
168
254
  INVALID_ENUM = 0x0500,
255
+ /** Returned from getError(). */
169
256
  INVALID_VALUE = 0x0501,
257
+ /** Returned from getError(). */
170
258
  INVALID_OPERATION = 0x0502,
259
+ /** Returned from getError(). */
171
260
  OUT_OF_MEMORY = 0x0505,
261
+ /** Returned from getError(). */
172
262
  CONTEXT_LOST_WEBGL = 0x9242,
173
263
 
174
264
  // Front face directions
175
265
  // Constants passed to frontFace().
176
266
 
267
+ /** Passed to frontFace to specify the front face of a polygon is drawn in the clockwise direction */
177
268
  CW = 0x0900,
269
+ /** Passed to frontFace to specify the front face of a polygon is drawn in the counter clockwise direction */
178
270
  CCW = 0x0901,
179
271
 
180
272
  // Hints
181
273
  // Constants passed to hint()
182
274
 
275
+ /** There is no preference for this behavior. */
183
276
  DONT_CARE = 0x1100,
277
+ /** The most efficient behavior should be used. */
184
278
  FASTEST = 0x1101,
279
+ /** The most correct or the highest quality option should be used. */
185
280
  NICEST = 0x1102,
281
+ /** Hint for the quality of filtering when generating mipmap images with WebGLRenderingContext.generateMipmap(). */
186
282
  GENERATE_MIPMAP_HINT = 0x8192,
187
283
 
188
284
  // Data types
@@ -215,20 +311,31 @@ export enum GL {
215
311
  // Shaders
216
312
  // Constants passed to createShader() or getShaderParameter()
217
313
 
314
+ /** Passed to createShader to define a fragment shader. */
218
315
  FRAGMENT_SHADER = 0x8b30,
316
+ /** Passed to createShader to define a vertex shader */
219
317
  VERTEX_SHADER = 0x8b31,
318
+ /** Passed to getShaderParameter to get the status of the compilation. Returns false if the shader was not compiled. You can then query getShaderInfoLog to find the exact error */
220
319
  COMPILE_STATUS = 0x8b81,
320
+ /** Passed to getShaderParameter to determine if a shader was deleted via deleteShader. Returns true if it was, false otherwise. */
221
321
  DELETE_STATUS = 0x8b80,
322
+ /** Passed to getProgramParameter after calling linkProgram to determine if a program was linked correctly. Returns false if there were errors. Use getProgramInfoLog to find the exact error. */
222
323
  LINK_STATUS = 0x8b82,
324
+ /** Passed to getProgramParameter after calling validateProgram to determine if it is valid. Returns false if errors were found. */
223
325
  VALIDATE_STATUS = 0x8b83,
326
+ /** Passed to getProgramParameter after calling attachShader to determine if the shader was attached correctly. Returns false if errors occurred. */
224
327
  ATTACHED_SHADERS = 0x8b85,
328
+ /** Passed to getProgramParameter to get the number of attributes active in a program. */
225
329
  ACTIVE_ATTRIBUTES = 0x8b89,
330
+ /** Passed to getProgramParameter to get the number of uniforms active in a program. */
226
331
  ACTIVE_UNIFORMS = 0x8b86,
332
+ /** The maximum number of entries possible in the vertex attribute list. */
227
333
  MAX_VERTEX_ATTRIBS = 0x8869,
228
334
  MAX_VERTEX_UNIFORM_VECTORS = 0x8dfb,
229
335
  MAX_VARYING_VECTORS = 0x8dfc,
230
336
  MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8b4d,
231
337
  MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8b4c,
338
+ /** Implementation dependent number of maximum texture units. At least 8. */
232
339
  MAX_TEXTURE_IMAGE_UNITS = 0x8872,
233
340
  MAX_FRAGMENT_UNIFORM_VECTORS = 0x8dfd,
234
341
  SHADER_TYPE = 0x8b4f,
@@ -238,14 +345,22 @@ export enum GL {
238
345
  // Depth or stencil tests
239
346
  // Constants passed to depthFunc() or stencilFunc().
240
347
 
348
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will never pass, i.e., nothing will be drawn. */
241
349
  NEVER = 0x0200,
242
- ALWAYS = 0x0207,
350
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than the stored value. */
243
351
  LESS = 0x0201,
352
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is equals to the stored value. */
244
353
  EQUAL = 0x0202,
354
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than or equal to the stored value. */
245
355
  LEQUAL = 0x0203,
356
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than the stored value. */
246
357
  GREATER = 0x0204,
247
- GEQUAL = 0x0206,
358
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is not equal to the stored value. */
248
359
  NOTEQUAL = 0x0205,
360
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than or equal to the stored value. */
361
+ GEQUAL = 0x0206,
362
+ /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will always pass, i.e., pixels will be drawn in the order they are drawn. */
363
+ ALWAYS = 0x0207,
249
364
 
250
365
  // Stencil actions
251
366
  // Constants passed to stencilOp().
@@ -268,9 +383,13 @@ export enum GL {
268
383
  LINEAR_MIPMAP_NEAREST = 0x2701,
269
384
  NEAREST_MIPMAP_LINEAR = 0x2702,
270
385
  LINEAR_MIPMAP_LINEAR = 0x2703,
386
+ /** The texture magnification function is used when the pixel being textured maps to an area less than or equal to one texture element. It sets the texture magnification function to either GL_NEAREST or GL_LINEAR (see below). GL_NEAREST is generally faster than GL_LINEAR, but it can produce textured images with sharper edges because the transition between texture elements is not as smooth. Default: GL_LINEAR. */
271
387
  TEXTURE_MAG_FILTER = 0x2800,
388
+ /** The texture minifying function is used whenever the pixel being textured maps to an area greater than one texture element. There are six defined minifying functions. Two of them use the nearest one or nearest four texture elements to compute the texture value. The other four use mipmaps. Default: GL_NEAREST_MIPMAP_LINEAR */
272
389
  TEXTURE_MIN_FILTER = 0x2801,
390
+ /** Sets the wrap parameter for texture coordinate to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or GL_REPEAT. G */
273
391
  TEXTURE_WRAP_S = 0x2802,
392
+ /** Sets the wrap parameter for texture coordinate to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or GL_REPEAT. G */
274
393
  TEXTURE_WRAP_T = 0x2803,
275
394
  TEXTURE_2D = 0x0de1,
276
395
  TEXTURE = 0x1702,
@@ -414,6 +533,7 @@ export enum GL {
414
533
  RGBA8 = 0x8058,
415
534
  RGB10_A2 = 0x8059,
416
535
  TEXTURE_3D = 0x806f,
536
+ /** Sets the wrap parameter for texture coordinate to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or GL_REPEAT. G */
417
537
  TEXTURE_WRAP_R = 0x8072,
418
538
  TEXTURE_MIN_LOD = 0x813a,
419
539
  TEXTURE_MAX_LOD = 0x813b,
@@ -502,9 +622,13 @@ export enum GL {
502
622
  // Queries
503
623
 
504
624
  CURRENT_QUERY = 0x8865,
625
+ /** Returns a GLuint containing the query result. */
505
626
  QUERY_RESULT = 0x8866,
627
+ /** Whether query result is available. */
506
628
  QUERY_RESULT_AVAILABLE = 0x8867,
629
+ /** Occlusion query (if drawing passed depth test) */
507
630
  ANY_SAMPLES_PASSED = 0x8c2f,
631
+ /** Occlusion query less accurate/faster version */
508
632
  ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8d6a,
509
633
 
510
634
  // Draw buffers
@@ -697,43 +821,40 @@ export enum GL {
697
821
 
698
822
  // Constants defined in WebGL extensions
699
823
 
700
- // ANGLE_instanced_arrays
701
-
702
- VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88fe,
703
-
704
824
  // WEBGL_debug_renderer_info
705
825
 
826
+ /** Passed to getParameter to get the vendor string of the graphics driver. */
706
827
  UNMASKED_VENDOR_WEBGL = 0x9245,
828
+ /** Passed to getParameter to get the renderer string of the graphics driver. */
707
829
  UNMASKED_RENDERER_WEBGL = 0x9246,
708
830
 
709
831
  // EXT_texture_filter_anisotropic
710
832
 
833
+ /** Returns the maximum available anisotropy. */
711
834
  MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84ff,
835
+ /** Passed to texParameter to set the desired maximum anisotropy for a texture. */
712
836
  TEXTURE_MAX_ANISOTROPY_EXT = 0x84fe,
713
837
 
714
- // EXT_sRGB
715
-
716
- SRGB_EXT = 0x8c40,
717
- SRGB_ALPHA_EXT = 0x8c42,
718
- SRGB8_ALPHA8_EXT = 0x8c43,
719
- FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210,
720
-
721
838
  // EXT_texture_norm16 - https://khronos.org/registry/webgl/extensions/EXT_texture_norm16/
722
839
 
723
- R16_EXT = 0x822A,
724
- RG16_EXT = 0x822C,
840
+ R16_EXT = 0x822a,
841
+ RG16_EXT = 0x822c,
725
842
  RGB16_EXT = 0x8054,
726
- RGBA16_EXT = 0x805B,
727
- R16_SNORM_EXT = 0x8F98,
728
- RG16_SNORM_EXT = 0x8F99,
729
- RGB16_SNORM_EXT = 0x8F9A,
730
- RGBA16_SNORM_EXT = 0x8F9B,
843
+ RGBA16_EXT = 0x805b,
844
+ R16_SNORM_EXT = 0x8f98,
845
+ RG16_SNORM_EXT = 0x8f99,
846
+ RGB16_SNORM_EXT = 0x8f9a,
847
+ RGBA16_SNORM_EXT = 0x8f9b,
731
848
 
732
849
  // WEBGL_compressed_texture_s3tc (BC1, BC2, BC3)
733
850
 
851
+ /** A DXT1-compressed image in an RGB image format. */
734
852
  COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83f0,
853
+ /** A DXT1-compressed image in an RGB image format with a simple on/off alpha value. */
735
854
  COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83f1,
855
+ /** A DXT3-compressed image in an RGBA image format. Compared to a 32-bit RGBA texture, it offers 4:1 compression. */
736
856
  COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83f2,
857
+ /** A DXT5-compressed image in an RGBA image format. It also provides a 4:1 compression, but differs to the DXT3 compression in how the alpha compression is done. */
737
858
  COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83f3,
738
859
 
739
860
  // WEBGL_compressed_texture_s3tc_srgb (BC1, BC2, BC3 - SRGB)
@@ -759,26 +880,41 @@ export enum GL {
759
880
 
760
881
  // WEBGL_compressed_texture_es3
761
882
 
883
+ /** One-channel (red) unsigned format compression. */
762
884
  COMPRESSED_R11_EAC = 0x9270,
885
+ /** One-channel (red) signed format compression. */
763
886
  COMPRESSED_SIGNED_R11_EAC = 0x9271,
887
+ /** Two-channel (red and green) unsigned format compression. */
764
888
  COMPRESSED_RG11_EAC = 0x9272,
889
+ /** Two-channel (red and green) signed format compression. */
765
890
  COMPRESSED_SIGNED_RG11_EAC = 0x9273,
891
+ /** Compresses RGB8 data with no alpha channel. */
766
892
  COMPRESSED_RGB8_ETC2 = 0x9274,
893
+ /** Compresses RGBA8 data. The RGB part is encoded the same as RGB_ETC2, but the alpha part is encoded separately. */
767
894
  COMPRESSED_RGBA8_ETC2_EAC = 0x9275,
895
+ /** Compresses sRGB8 data with no alpha channel. */
768
896
  COMPRESSED_SRGB8_ETC2 = 0x9276,
897
+ /** Compresses sRGBA8 data. The sRGB part is encoded the same as SRGB_ETC2, but the alpha part is encoded separately. */
769
898
  COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9277,
899
+ /** Similar to RGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent. */
770
900
  COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9278,
901
+ /** Similar to SRGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent. */
771
902
  COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9279,
772
903
 
773
904
  // WEBGL_compressed_texture_pvrtc
774
905
 
906
+ /** RGB compression in 4-bit mode. One block for each 4×4 pixels. */
775
907
  COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8c00,
908
+ /** RGBA compression in 4-bit mode. One block for each 4×4 pixels. */
776
909
  COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8c02,
910
+ /** RGB compression in 2-bit mode. One block for each 8×4 pixels. */
777
911
  COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8c01,
912
+ /** RGBA compression in 2-bit mode. One block for each 8×4 pixels. */
778
913
  COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8c03,
779
914
 
780
915
  // WEBGL_compressed_texture_etc1
781
916
 
917
+ /** Compresses 24-bit RGB data with no alpha channel. */
782
918
  COMPRESSED_RGB_ETC1_WEBGL = 0x8d64,
783
919
 
784
920
  // WEBGL_compressed_texture_atc
@@ -818,78 +954,97 @@ export enum GL {
818
954
  COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93dc,
819
955
  COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93dd,
820
956
 
821
- // WEBGL_depth_texture
822
-
823
- UNSIGNED_INT_24_8_WEBGL = 0x84fa,
824
-
825
- // OES_texture_half_float
826
-
827
- HALF_FLOAT_OES = 0x8d61,
828
-
829
- // WEBGL_color_buffer_float
830
-
831
- RGBA32F_EXT = 0x8814,
832
- RGB32F_EXT = 0x8815,
833
- FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211,
834
- UNSIGNED_NORMALIZED_EXT = 0x8c17,
835
-
836
- // EXT_blend_minmax
837
-
838
- MIN_EXT = 0x8007,
839
- MAX_EXT = 0x8008,
840
-
841
- // OES_standard_derivatives
842
-
843
- FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8b8b,
844
-
845
- // WEBGL_draw_buffers
846
-
847
- COLOR_ATTACHMENT0_WEBGL = 0x8ce0,
848
- COLOR_ATTACHMENT1_WEBGL = 0x8ce1,
849
- COLOR_ATTACHMENT2_WEBGL = 0x8ce2,
850
- COLOR_ATTACHMENT3_WEBGL = 0x8ce3,
851
- COLOR_ATTACHMENT4_WEBGL = 0x8ce4,
852
- COLOR_ATTACHMENT5_WEBGL = 0x8ce5,
853
- COLOR_ATTACHMENT6_WEBGL = 0x8ce6,
854
- COLOR_ATTACHMENT7_WEBGL = 0x8ce7,
855
- COLOR_ATTACHMENT8_WEBGL = 0x8ce8,
856
- COLOR_ATTACHMENT9_WEBGL = 0x8ce9,
857
- COLOR_ATTACHMENT10_WEBGL = 0x8cea,
858
- COLOR_ATTACHMENT11_WEBGL = 0x8ceb,
859
- COLOR_ATTACHMENT12_WEBGL = 0x8cec,
860
- COLOR_ATTACHMENT13_WEBGL = 0x8ced,
861
- COLOR_ATTACHMENT14_WEBGL = 0x8cee,
862
- COLOR_ATTACHMENT15_WEBGL = 0x8cef,
863
- DRAW_BUFFER0_WEBGL = 0x8825,
864
- DRAW_BUFFER1_WEBGL = 0x8826,
865
- DRAW_BUFFER2_WEBGL = 0x8827,
866
- DRAW_BUFFER3_WEBGL = 0x8828,
867
- DRAW_BUFFER4_WEBGL = 0x8829,
868
- DRAW_BUFFER5_WEBGL = 0x882a,
869
- DRAW_BUFFER6_WEBGL = 0x882b,
870
- DRAW_BUFFER7_WEBGL = 0x882c,
871
- DRAW_BUFFER8_WEBGL = 0x882d,
872
- DRAW_BUFFER9_WEBGL = 0x882e,
873
- DRAW_BUFFER10_WEBGL = 0x882f,
874
- DRAW_BUFFER11_WEBGL = 0x8830,
875
- DRAW_BUFFER12_WEBGL = 0x8831,
876
- DRAW_BUFFER13_WEBGL = 0x8832,
877
- DRAW_BUFFER14_WEBGL = 0x8833,
878
- DRAW_BUFFER15_WEBGL = 0x8834,
879
- MAX_COLOR_ATTACHMENTS_WEBGL = 0x8cdf,
880
- MAX_DRAW_BUFFERS_WEBGL = 0x8824,
881
-
882
- // OES_vertex_array_object
883
-
884
- VERTEX_ARRAY_BINDING_OES = 0x85b5,
885
-
886
957
  // EXT_disjoint_timer_query
887
958
 
959
+ /** The number of bits used to hold the query result for the given target. */
888
960
  QUERY_COUNTER_BITS_EXT = 0x8864,
961
+ /** The currently active query. */
889
962
  CURRENT_QUERY_EXT = 0x8865,
963
+ /** The query result. */
890
964
  QUERY_RESULT_EXT = 0x8866,
965
+ /** A Boolean indicating whether or not a query result is available. */
891
966
  QUERY_RESULT_AVAILABLE_EXT = 0x8867,
967
+ /** Elapsed time (in nanoseconds). */
892
968
  TIME_ELAPSED_EXT = 0x88bf,
969
+ /** The current time. */
893
970
  TIMESTAMP_EXT = 0x8e28,
894
- GPU_DISJOINT_EXT = 0x8fbb // A Boolean indicating whether or not the GPU performed any disjoint operation.
895
- };
971
+ /** A Boolean indicating whether or not the GPU performed any disjoint operation (lost context) */
972
+ GPU_DISJOINT_EXT = 0x8fbb,
973
+
974
+ // KHR_parallel_shader_compile https://registry.khronos.org/webgl/extensions/KHR_parallel_shader_compile
975
+
976
+ /** a non-blocking poll operation, so that compile/link status availability can be queried without potentially incurring stalls */
977
+ COMPLETION_STATUS_KHR = 0x91b1,
978
+
979
+ // EXT_depth_clamp https://registry.khronos.org/webgl/extensions/EXT_depth_clamp/
980
+
981
+ /** Disables depth clipping */
982
+ DEPTH_CLAMP_EXT = 0x864f,
983
+
984
+ // WEBGL_provoking_vertex https://registry.khronos.org/webgl/extensions/WEBGL_provoking_vertex/
985
+
986
+ /** Values of first vertex in primitive are used for flat shading */
987
+ FIRST_VERTEX_CONVENTION_WEBGL = 0x8e4d,
988
+ /** Values of first vertex in primitive are used for flat shading */
989
+ LAST_VERTEX_CONVENTION_WEBGL = 0x8e4e, // default
990
+ /** Controls which vertex in primitive is used for flat shading */
991
+ PROVOKING_VERTEX_WEBL = 0x8e4f,
992
+
993
+ // WEBGL_polygon_mode https://registry.khronos.org/webgl/extensions/WEBGL_polygon_mode/
994
+
995
+ POLYGON_MODE_WEBGL = 0x0b40,
996
+ POLYGON_OFFSET_LINE_WEBGL = 0x2a02,
997
+ LINE_WEBGL = 0x1b01,
998
+ FILL_WEBGL = 0x1b02,
999
+
1000
+ // WEBGL_clip_cull_distance https://registry.khronos.org/webgl/extensions/WEBGL_clip_cull_distance/
1001
+
1002
+ /** Max clip distances */
1003
+ MAX_CLIP_DISTANCES_WEBGL = 0x0d32,
1004
+ /** Max cull distances */
1005
+ MAX_CULL_DISTANCES_WEBGL = 0x82f9,
1006
+ /** Max clip and cull distances */
1007
+ MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL = 0x82fa,
1008
+
1009
+ /** Enable gl_ClipDistance[0] and gl_CullDistance[0] */
1010
+ CLIP_DISTANCE0_WEBGL = 0x3000,
1011
+ /** Enable gl_ClipDistance[1] and gl_CullDistance[1] */
1012
+ CLIP_DISTANCE1_WEBGL = 0x3001,
1013
+ /** Enable gl_ClipDistance[2] and gl_CullDistance[2] */
1014
+ CLIP_DISTANCE2_WEBGL = 0x3002,
1015
+ /** Enable gl_ClipDistance[3] and gl_CullDistance[3] */
1016
+ CLIP_DISTANCE3_WEBGL = 0x3003,
1017
+ /** Enable gl_ClipDistance[4] and gl_CullDistance[4] */
1018
+ CLIP_DISTANCE4_WEBGL = 0x3004,
1019
+ /** Enable gl_ClipDistance[5] and gl_CullDistance[5] */
1020
+ CLIP_DISTANCE5_WEBGL = 0x3005,
1021
+ /** Enable gl_ClipDistance[6] and gl_CullDistance[6] */
1022
+ CLIP_DISTANCE6_WEBGL = 0x3006,
1023
+ /** Enable gl_ClipDistance[7] and gl_CullDistance[7] */
1024
+ CLIP_DISTANCE7_WEBGL = 0x3007,
1025
+
1026
+ /** EXT_polygon_offset_clamp https://registry.khronos.org/webgl/extensions/EXT_polygon_offset_clamp/ */
1027
+ POLYGON_OFFSET_CLAMP_EXT = 0x8e1b,
1028
+
1029
+ /** EXT_clip_control https://registry.khronos.org/webgl/extensions/EXT_clip_control/ */
1030
+ LOWER_LEFT_EXT = 0x8ca1,
1031
+ UPPER_LEFT_EXT = 0x8ca2,
1032
+
1033
+ NEGATIVE_ONE_TO_ONE_EXT = 0x935e,
1034
+ ZERO_TO_ONE_EXT = 0x935f,
1035
+
1036
+ CLIP_ORIGIN_EXT = 0x935c,
1037
+ CLIP_DEPTH_MODE_EXT = 0x935d,
1038
+
1039
+ /** WEBGL_blend_func_extended https://registry.khronos.org/webgl/extensions/WEBGL_blend_func_extended/ */
1040
+ SRC1_COLOR_WEBGL = 0x88f9,
1041
+ SRC1_ALPHA_WEBGL = 0x8589,
1042
+ ONE_MINUS_SRC1_COLOR_WEBGL = 0x88fa,
1043
+ ONE_MINUS_SRC1_ALPHA_WEBGL = 0x88fb,
1044
+ MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL = 0x88fc,
1045
+
1046
+ /** EXT_texture_mirror_clamp_to_edge https://registry.khronos.org/webgl/extensions/EXT_texture_mirror_clamp_to_edge/ */
1047
+ MIRROR_CLAMP_TO_EDGE_EXT = 0x8743
1048
+ }
1049
+
1050
+ export {GLEnum as GL};