2
* Copyright (C) 2009 Apple Inc. All rights reserved.
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
7
* 1. Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* 2. Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
13
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
] interface WebGLRenderingContext : CanvasRenderingContext {
33
const unsigned int DEPTH_BUFFER_BIT = 0x00000100;
34
const unsigned int STENCIL_BUFFER_BIT = 0x00000400;
35
const unsigned int COLOR_BUFFER_BIT = 0x00004000;
38
const unsigned int POINTS = 0x0000;
39
const unsigned int LINES = 0x0001;
40
const unsigned int LINE_LOOP = 0x0002;
41
const unsigned int LINE_STRIP = 0x0003;
42
const unsigned int TRIANGLES = 0x0004;
43
const unsigned int TRIANGLE_STRIP = 0x0005;
44
const unsigned int TRIANGLE_FAN = 0x0006;
46
/* AlphaFunction (not supported in ES20) */
56
/* BlendingFactorDest */
57
const unsigned int ZERO = 0;
58
const unsigned int ONE = 1;
59
const unsigned int SRC_COLOR = 0x0300;
60
const unsigned int ONE_MINUS_SRC_COLOR = 0x0301;
61
const unsigned int SRC_ALPHA = 0x0302;
62
const unsigned int ONE_MINUS_SRC_ALPHA = 0x0303;
63
const unsigned int DST_ALPHA = 0x0304;
64
const unsigned int ONE_MINUS_DST_ALPHA = 0x0305;
66
/* BlendingFactorSrc */
69
const unsigned int DST_COLOR = 0x0306;
70
const unsigned int ONE_MINUS_DST_COLOR = 0x0307;
71
const unsigned int SRC_ALPHA_SATURATE = 0x0308;
73
/* ONE_MINUS_SRC_ALPHA */
75
/* ONE_MINUS_DST_ALPHA */
77
/* BlendEquationSeparate */
78
const unsigned int FUNC_ADD = 0x8006;
79
const unsigned int BLEND_EQUATION = 0x8009;
80
const unsigned int BLEND_EQUATION_RGB = 0x8009; /* same as BLEND_EQUATION */
81
const unsigned int BLEND_EQUATION_ALPHA = 0x883D;
84
const unsigned int FUNC_SUBTRACT = 0x800A;
85
const unsigned int FUNC_REVERSE_SUBTRACT = 0x800B;
87
/* Separate Blend Functions */
88
const unsigned int BLEND_DST_RGB = 0x80C8;
89
const unsigned int BLEND_SRC_RGB = 0x80C9;
90
const unsigned int BLEND_DST_ALPHA = 0x80CA;
91
const unsigned int BLEND_SRC_ALPHA = 0x80CB;
92
const unsigned int CONSTANT_COLOR = 0x8001;
93
const unsigned int ONE_MINUS_CONSTANT_COLOR = 0x8002;
94
const unsigned int CONSTANT_ALPHA = 0x8003;
95
const unsigned int ONE_MINUS_CONSTANT_ALPHA = 0x8004;
96
const unsigned int BLEND_COLOR = 0x8005;
99
const unsigned int ARRAY_BUFFER = 0x8892;
100
const unsigned int ELEMENT_ARRAY_BUFFER = 0x8893;
101
const unsigned int ARRAY_BUFFER_BINDING = 0x8894;
102
const unsigned int ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
104
const unsigned int STREAM_DRAW = 0x88E0;
105
const unsigned int STATIC_DRAW = 0x88E4;
106
const unsigned int DYNAMIC_DRAW = 0x88E8;
108
const unsigned int BUFFER_SIZE = 0x8764;
109
const unsigned int BUFFER_USAGE = 0x8765;
111
const unsigned int CURRENT_VERTEX_ATTRIB = 0x8626;
114
const unsigned int FRONT = 0x0404;
115
const unsigned int BACK = 0x0405;
116
const unsigned int FRONT_AND_BACK = 0x0408;
129
const unsigned int TEXTURE_2D = 0x0DE1;
130
const unsigned int CULL_FACE = 0x0B44;
131
const unsigned int BLEND = 0x0BE2;
132
const unsigned int DITHER = 0x0BD0;
133
const unsigned int STENCIL_TEST = 0x0B90;
134
const unsigned int DEPTH_TEST = 0x0B71;
135
const unsigned int SCISSOR_TEST = 0x0C11;
136
const unsigned int POLYGON_OFFSET_FILL = 0x8037;
137
const unsigned int SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
138
const unsigned int SAMPLE_COVERAGE = 0x80A0;
141
const unsigned int NO_ERROR = 0;
142
const unsigned int INVALID_ENUM = 0x0500;
143
const unsigned int INVALID_VALUE = 0x0501;
144
const unsigned int INVALID_OPERATION = 0x0502;
145
const unsigned int OUT_OF_MEMORY = 0x0505;
147
/* FrontFaceDirection */
148
const unsigned int CW = 0x0900;
149
const unsigned int CCW = 0x0901;
152
const unsigned int LINE_WIDTH = 0x0B21;
153
const unsigned int ALIASED_POINT_SIZE_RANGE = 0x846D;
154
const unsigned int ALIASED_LINE_WIDTH_RANGE = 0x846E;
155
const unsigned int CULL_FACE_MODE = 0x0B45;
156
const unsigned int FRONT_FACE = 0x0B46;
157
const unsigned int DEPTH_RANGE = 0x0B70;
158
const unsigned int DEPTH_WRITEMASK = 0x0B72;
159
const unsigned int DEPTH_CLEAR_VALUE = 0x0B73;
160
const unsigned int DEPTH_FUNC = 0x0B74;
161
const unsigned int STENCIL_CLEAR_VALUE = 0x0B91;
162
const unsigned int STENCIL_FUNC = 0x0B92;
163
const unsigned int STENCIL_FAIL = 0x0B94;
164
const unsigned int STENCIL_PASS_DEPTH_FAIL = 0x0B95;
165
const unsigned int STENCIL_PASS_DEPTH_PASS = 0x0B96;
166
const unsigned int STENCIL_REF = 0x0B97;
167
const unsigned int STENCIL_VALUE_MASK = 0x0B93;
168
const unsigned int STENCIL_WRITEMASK = 0x0B98;
169
const unsigned int STENCIL_BACK_FUNC = 0x8800;
170
const unsigned int STENCIL_BACK_FAIL = 0x8801;
171
const unsigned int STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
172
const unsigned int STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
173
const unsigned int STENCIL_BACK_REF = 0x8CA3;
174
const unsigned int STENCIL_BACK_VALUE_MASK = 0x8CA4;
175
const unsigned int STENCIL_BACK_WRITEMASK = 0x8CA5;
176
const unsigned int VIEWPORT = 0x0BA2;
177
const unsigned int SCISSOR_BOX = 0x0C10;
179
const unsigned int COLOR_CLEAR_VALUE = 0x0C22;
180
const unsigned int COLOR_WRITEMASK = 0x0C23;
181
const unsigned int UNPACK_ALIGNMENT = 0x0CF5;
182
const unsigned int PACK_ALIGNMENT = 0x0D05;
183
const unsigned int MAX_TEXTURE_SIZE = 0x0D33;
184
const unsigned int MAX_VIEWPORT_DIMS = 0x0D3A;
185
const unsigned int SUBPIXEL_BITS = 0x0D50;
186
const unsigned int RED_BITS = 0x0D52;
187
const unsigned int GREEN_BITS = 0x0D53;
188
const unsigned int BLUE_BITS = 0x0D54;
189
const unsigned int ALPHA_BITS = 0x0D55;
190
const unsigned int DEPTH_BITS = 0x0D56;
191
const unsigned int STENCIL_BITS = 0x0D57;
192
const unsigned int POLYGON_OFFSET_UNITS = 0x2A00;
193
/* POLYGON_OFFSET_FILL */
194
const unsigned int POLYGON_OFFSET_FACTOR = 0x8038;
195
const unsigned int TEXTURE_BINDING_2D = 0x8069;
196
const unsigned int SAMPLE_BUFFERS = 0x80A8;
197
const unsigned int SAMPLES = 0x80A9;
198
const unsigned int SAMPLE_COVERAGE_VALUE = 0x80AA;
199
const unsigned int SAMPLE_COVERAGE_INVERT = 0x80AB;
201
/* GetTextureParameter */
202
/* TEXTURE_MAG_FILTER */
203
/* TEXTURE_MIN_FILTER */
207
const unsigned int COMPRESSED_TEXTURE_FORMATS = 0x86A3;
210
const unsigned int DONT_CARE = 0x1100;
211
const unsigned int FASTEST = 0x1101;
212
const unsigned int NICEST = 0x1102;
215
const unsigned int GENERATE_MIPMAP_HINT = 0x8192;
218
const unsigned int BYTE = 0x1400;
219
const unsigned int UNSIGNED_BYTE = 0x1401;
220
const unsigned int SHORT = 0x1402;
221
const unsigned int UNSIGNED_SHORT = 0x1403;
222
const unsigned int INT = 0x1404;
223
const unsigned int UNSIGNED_INT = 0x1405;
224
const unsigned int FLOAT = 0x1406;
227
const unsigned int DEPTH_COMPONENT = 0x1902;
228
const unsigned int ALPHA = 0x1906;
229
const unsigned int RGB = 0x1907;
230
const unsigned int RGBA = 0x1908;
231
const unsigned int LUMINANCE = 0x1909;
232
const unsigned int LUMINANCE_ALPHA = 0x190A;
236
const unsigned int UNSIGNED_SHORT_4_4_4_4 = 0x8033;
237
const unsigned int UNSIGNED_SHORT_5_5_5_1 = 0x8034;
238
const unsigned int UNSIGNED_SHORT_5_6_5 = 0x8363;
241
const unsigned int FRAGMENT_SHADER = 0x8B30;
242
const unsigned int VERTEX_SHADER = 0x8B31;
243
const unsigned int MAX_VERTEX_ATTRIBS = 0x8869;
244
const unsigned int MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
245
const unsigned int MAX_VARYING_VECTORS = 0x8DFC;
246
const unsigned int MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
247
const unsigned int MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
248
const unsigned int MAX_TEXTURE_IMAGE_UNITS = 0x8872;
249
const unsigned int MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
250
const unsigned int SHADER_TYPE = 0x8B4F;
251
const unsigned int DELETE_STATUS = 0x8B80;
252
const unsigned int LINK_STATUS = 0x8B82;
253
const unsigned int VALIDATE_STATUS = 0x8B83;
254
const unsigned int ATTACHED_SHADERS = 0x8B85;
255
const unsigned int ACTIVE_UNIFORMS = 0x8B86;
256
const unsigned int ACTIVE_ATTRIBUTES = 0x8B89;
257
const unsigned int SHADING_LANGUAGE_VERSION = 0x8B8C;
258
const unsigned int CURRENT_PROGRAM = 0x8B8D;
260
/* StencilFunction */
261
const unsigned int NEVER = 0x0200;
262
const unsigned int LESS = 0x0201;
263
const unsigned int EQUAL = 0x0202;
264
const unsigned int LEQUAL = 0x0203;
265
const unsigned int GREATER = 0x0204;
266
const unsigned int NOTEQUAL = 0x0205;
267
const unsigned int GEQUAL = 0x0206;
268
const unsigned int ALWAYS = 0x0207;
272
const unsigned int KEEP = 0x1E00;
273
const unsigned int REPLACE = 0x1E01;
274
const unsigned int INCR = 0x1E02;
275
const unsigned int DECR = 0x1E03;
276
const unsigned int INVERT = 0x150A;
277
const unsigned int INCR_WRAP = 0x8507;
278
const unsigned int DECR_WRAP = 0x8508;
281
const unsigned int VENDOR = 0x1F00;
282
const unsigned int RENDERER = 0x1F01;
283
const unsigned int VERSION = 0x1F02;
285
/* TextureMagFilter */
286
const unsigned int NEAREST = 0x2600;
287
const unsigned int LINEAR = 0x2601;
289
/* TextureMinFilter */
292
const unsigned int NEAREST_MIPMAP_NEAREST = 0x2700;
293
const unsigned int LINEAR_MIPMAP_NEAREST = 0x2701;
294
const unsigned int NEAREST_MIPMAP_LINEAR = 0x2702;
295
const unsigned int LINEAR_MIPMAP_LINEAR = 0x2703;
297
/* TextureParameterName */
298
const unsigned int TEXTURE_MAG_FILTER = 0x2800;
299
const unsigned int TEXTURE_MIN_FILTER = 0x2801;
300
const unsigned int TEXTURE_WRAP_S = 0x2802;
301
const unsigned int TEXTURE_WRAP_T = 0x2803;
305
const unsigned int TEXTURE = 0x1702;
307
const unsigned int TEXTURE_CUBE_MAP = 0x8513;
308
const unsigned int TEXTURE_BINDING_CUBE_MAP = 0x8514;
309
const unsigned int TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
310
const unsigned int TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
311
const unsigned int TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
312
const unsigned int TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
313
const unsigned int TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
314
const unsigned int TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
315
const unsigned int MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
318
const unsigned int TEXTURE0 = 0x84C0;
319
const unsigned int TEXTURE1 = 0x84C1;
320
const unsigned int TEXTURE2 = 0x84C2;
321
const unsigned int TEXTURE3 = 0x84C3;
322
const unsigned int TEXTURE4 = 0x84C4;
323
const unsigned int TEXTURE5 = 0x84C5;
324
const unsigned int TEXTURE6 = 0x84C6;
325
const unsigned int TEXTURE7 = 0x84C7;
326
const unsigned int TEXTURE8 = 0x84C8;
327
const unsigned int TEXTURE9 = 0x84C9;
328
const unsigned int TEXTURE10 = 0x84CA;
329
const unsigned int TEXTURE11 = 0x84CB;
330
const unsigned int TEXTURE12 = 0x84CC;
331
const unsigned int TEXTURE13 = 0x84CD;
332
const unsigned int TEXTURE14 = 0x84CE;
333
const unsigned int TEXTURE15 = 0x84CF;
334
const unsigned int TEXTURE16 = 0x84D0;
335
const unsigned int TEXTURE17 = 0x84D1;
336
const unsigned int TEXTURE18 = 0x84D2;
337
const unsigned int TEXTURE19 = 0x84D3;
338
const unsigned int TEXTURE20 = 0x84D4;
339
const unsigned int TEXTURE21 = 0x84D5;
340
const unsigned int TEXTURE22 = 0x84D6;
341
const unsigned int TEXTURE23 = 0x84D7;
342
const unsigned int TEXTURE24 = 0x84D8;
343
const unsigned int TEXTURE25 = 0x84D9;
344
const unsigned int TEXTURE26 = 0x84DA;
345
const unsigned int TEXTURE27 = 0x84DB;
346
const unsigned int TEXTURE28 = 0x84DC;
347
const unsigned int TEXTURE29 = 0x84DD;
348
const unsigned int TEXTURE30 = 0x84DE;
349
const unsigned int TEXTURE31 = 0x84DF;
350
const unsigned int ACTIVE_TEXTURE = 0x84E0;
352
/* TextureWrapMode */
353
const unsigned int REPEAT = 0x2901;
354
const unsigned int CLAMP_TO_EDGE = 0x812F;
355
const unsigned int MIRRORED_REPEAT = 0x8370;
358
const unsigned int FLOAT_VEC2 = 0x8B50;
359
const unsigned int FLOAT_VEC3 = 0x8B51;
360
const unsigned int FLOAT_VEC4 = 0x8B52;
361
const unsigned int INT_VEC2 = 0x8B53;
362
const unsigned int INT_VEC3 = 0x8B54;
363
const unsigned int INT_VEC4 = 0x8B55;
364
const unsigned int BOOL = 0x8B56;
365
const unsigned int BOOL_VEC2 = 0x8B57;
366
const unsigned int BOOL_VEC3 = 0x8B58;
367
const unsigned int BOOL_VEC4 = 0x8B59;
368
const unsigned int FLOAT_MAT2 = 0x8B5A;
369
const unsigned int FLOAT_MAT3 = 0x8B5B;
370
const unsigned int FLOAT_MAT4 = 0x8B5C;
371
const unsigned int SAMPLER_2D = 0x8B5E;
372
const unsigned int SAMPLER_CUBE = 0x8B60;
375
const unsigned int VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
376
const unsigned int VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
377
const unsigned int VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
378
const unsigned int VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
379
const unsigned int VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
380
const unsigned int VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
381
const unsigned int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
384
const unsigned int COMPILE_STATUS = 0x8B81;
386
/* Shader Precision-Specified Types */
387
const unsigned int LOW_FLOAT = 0x8DF0;
388
const unsigned int MEDIUM_FLOAT = 0x8DF1;
389
const unsigned int HIGH_FLOAT = 0x8DF2;
390
const unsigned int LOW_INT = 0x8DF3;
391
const unsigned int MEDIUM_INT = 0x8DF4;
392
const unsigned int HIGH_INT = 0x8DF5;
394
/* Framebuffer Object. */
395
const unsigned int FRAMEBUFFER = 0x8D40;
396
const unsigned int RENDERBUFFER = 0x8D41;
398
const unsigned int RGBA4 = 0x8056;
399
const unsigned int RGB5_A1 = 0x8057;
400
const unsigned int RGB565 = 0x8D62;
401
const unsigned int DEPTH_COMPONENT16 = 0x81A5;
402
const unsigned int STENCIL_INDEX = 0x1901;
403
const unsigned int STENCIL_INDEX8 = 0x8D48;
404
const unsigned int DEPTH_STENCIL = 0x84F9;
406
const unsigned int RENDERBUFFER_WIDTH = 0x8D42;
407
const unsigned int RENDERBUFFER_HEIGHT = 0x8D43;
408
const unsigned int RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
409
const unsigned int RENDERBUFFER_RED_SIZE = 0x8D50;
410
const unsigned int RENDERBUFFER_GREEN_SIZE = 0x8D51;
411
const unsigned int RENDERBUFFER_BLUE_SIZE = 0x8D52;
412
const unsigned int RENDERBUFFER_ALPHA_SIZE = 0x8D53;
413
const unsigned int RENDERBUFFER_DEPTH_SIZE = 0x8D54;
414
const unsigned int RENDERBUFFER_STENCIL_SIZE = 0x8D55;
416
const unsigned int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
417
const unsigned int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
418
const unsigned int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
419
const unsigned int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
421
const unsigned int COLOR_ATTACHMENT0 = 0x8CE0;
422
const unsigned int DEPTH_ATTACHMENT = 0x8D00;
423
const unsigned int STENCIL_ATTACHMENT = 0x8D20;
424
const unsigned int DEPTH_STENCIL_ATTACHMENT = 0x821A;
426
const unsigned int NONE = 0;
428
const unsigned int FRAMEBUFFER_COMPLETE = 0x8CD5;
429
const unsigned int FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
430
const unsigned int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
431
const unsigned int FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9;
432
const unsigned int FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
434
const unsigned int FRAMEBUFFER_BINDING = 0x8CA6;
435
const unsigned int RENDERBUFFER_BINDING = 0x8CA7;
436
const unsigned int MAX_RENDERBUFFER_SIZE = 0x84E8;
438
const unsigned int INVALID_FRAMEBUFFER_OPERATION = 0x0506;
440
/* WebGL-specific enums */
441
const unsigned int UNPACK_FLIP_Y_WEBGL = 0x9240;
442
const unsigned int UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241;
443
const unsigned int CONTEXT_LOST_WEBGL = 0x9242;
444
const unsigned int UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;
445
const unsigned int BROWSER_DEFAULT_WEBGL = 0x9244;
447
readonly attribute long drawingBufferWidth;
448
readonly attribute long drawingBufferHeight;
450
[StrictTypeChecking] void activeTexture(in unsigned long texture) raises(DOMException);
451
[StrictTypeChecking] void attachShader(in WebGLProgram program, in WebGLShader shader) raises(DOMException);
452
[StrictTypeChecking] void bindAttribLocation(in WebGLProgram program, in unsigned long index, in DOMString name) raises(DOMException);
453
[StrictTypeChecking] void bindBuffer(in unsigned long target, in WebGLBuffer buffer) raises(DOMException);
454
[StrictTypeChecking] void bindFramebuffer(in unsigned long target, in WebGLFramebuffer framebuffer) raises(DOMException);
455
[StrictTypeChecking] void bindRenderbuffer(in unsigned long target, in WebGLRenderbuffer renderbuffer) raises(DOMException);
456
[StrictTypeChecking] void bindTexture(in unsigned long target, in WebGLTexture texture) raises(DOMException);
457
[StrictTypeChecking] void blendColor(in float red, in float green, in float blue, in float alpha);
458
[StrictTypeChecking] void blendEquation( in unsigned long mode );
459
[StrictTypeChecking] void blendEquationSeparate(in unsigned long modeRGB, in unsigned long modeAlpha);
460
[StrictTypeChecking] void blendFunc(in unsigned long sfactor, in unsigned long dfactor);
461
[StrictTypeChecking] void blendFuncSeparate(in unsigned long srcRGB, in unsigned long dstRGB, in unsigned long srcAlpha, in unsigned long dstAlpha);
462
[StrictTypeChecking] void bufferData(in unsigned long target, in ArrayBuffer? data, in unsigned long usage) raises (DOMException);
463
[StrictTypeChecking] void bufferData(in unsigned long target, in ArrayBufferView? data, in unsigned long usage) raises (DOMException);
464
[StrictTypeChecking] void bufferData(in unsigned long target, in long long size, in unsigned long usage) raises (DOMException);
465
[StrictTypeChecking] void bufferSubData(in unsigned long target, in long long offset, in ArrayBuffer? data) raises (DOMException);
466
[StrictTypeChecking] void bufferSubData(in unsigned long target, in long long offset, in ArrayBufferView? data) raises (DOMException);
468
[StrictTypeChecking] unsigned long checkFramebufferStatus(in unsigned long target);
469
[StrictTypeChecking] void clear(in unsigned long mask);
470
[StrictTypeChecking] void clearColor(in float red, in float green, in float blue, in float alpha);
471
[StrictTypeChecking] void clearDepth(in float depth);
472
[StrictTypeChecking] void clearStencil(in long s);
473
[StrictTypeChecking] void colorMask(in boolean red, in boolean green, in boolean blue, in boolean alpha);
474
[StrictTypeChecking] void compileShader(in WebGLShader shader) raises(DOMException);
476
[StrictTypeChecking] void compressedTexImage2D(in unsigned long target, in long level, in unsigned long internalformat,
477
in long width, in long height, in long border, in ArrayBufferView data);
478
[StrictTypeChecking] void compressedTexSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset,
479
in long width, in long height, in unsigned long format, in ArrayBufferView data);
481
[StrictTypeChecking] void copyTexImage2D(in unsigned long target, in long level, in unsigned long internalformat, in long x, in long y, in long width, in long height, in long border);
482
[StrictTypeChecking] void copyTexSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset, in long x, in long y, in long width, in long height);
484
[StrictTypeChecking] WebGLBuffer createBuffer();
485
[StrictTypeChecking] WebGLFramebuffer createFramebuffer();
486
[StrictTypeChecking] WebGLProgram createProgram();
487
[StrictTypeChecking] WebGLRenderbuffer createRenderbuffer();
488
[StrictTypeChecking] WebGLShader createShader(in unsigned long type) raises(DOMException);
489
[StrictTypeChecking] WebGLTexture createTexture();
491
[StrictTypeChecking] void cullFace(in unsigned long mode);
493
[StrictTypeChecking] void deleteBuffer(in WebGLBuffer buffer);
494
[StrictTypeChecking] void deleteFramebuffer(in WebGLFramebuffer framebuffer);
495
[StrictTypeChecking] void deleteProgram(in WebGLProgram program);
496
[StrictTypeChecking] void deleteRenderbuffer(in WebGLRenderbuffer renderbuffer);
497
[StrictTypeChecking] void deleteShader(in WebGLShader shader);
498
[StrictTypeChecking] void deleteTexture(in WebGLTexture texture);
500
[StrictTypeChecking] void depthFunc(in unsigned long func);
501
[StrictTypeChecking] void depthMask(in boolean flag);
502
// FIXME: this differs from the current WebGL spec (depthRangef)
503
[StrictTypeChecking] void depthRange(in float zNear, in float zFar);
504
[StrictTypeChecking] void detachShader(in WebGLProgram program, in WebGLShader shader) raises(DOMException);
505
[StrictTypeChecking] void disable(in unsigned long cap);
506
[StrictTypeChecking] void disableVertexAttribArray(in unsigned long index) raises(DOMException);
507
[StrictTypeChecking] void drawArrays(in unsigned long mode, in long first, in long count) raises(DOMException);
508
[StrictTypeChecking] void drawElements(in unsigned long mode, in long count, in unsigned long type, in long long offset) raises(DOMException);
510
[StrictTypeChecking] void enable(in unsigned long cap);
511
[StrictTypeChecking] void enableVertexAttribArray(in unsigned long index) raises(DOMException);
512
[StrictTypeChecking] void finish();
513
[StrictTypeChecking] void flush();
514
[StrictTypeChecking] void framebufferRenderbuffer(in unsigned long target, in unsigned long attachment, in unsigned long renderbuffertarget, in WebGLRenderbuffer renderbuffer) raises(DOMException);
515
[StrictTypeChecking] void framebufferTexture2D(in unsigned long target, in unsigned long attachment, in unsigned long textarget, in WebGLTexture texture, in long level) raises(DOMException);
516
[StrictTypeChecking] void frontFace(in unsigned long mode);
517
[StrictTypeChecking] void generateMipmap(in unsigned long target);
519
[StrictTypeChecking] WebGLActiveInfo getActiveAttrib(in WebGLProgram program, in unsigned long index) raises (DOMException);
520
[StrictTypeChecking] WebGLActiveInfo getActiveUniform(in WebGLProgram program, in unsigned long index) raises (DOMException);
522
[StrictTypeChecking, Custom] void getAttachedShaders(in WebGLProgram program) raises (DOMException);
524
[StrictTypeChecking] int getAttribLocation(in WebGLProgram program, in DOMString name);
526
// any getBufferParameter(in unsigned long target, in unsigned long pname) raises(DOMException);
527
[StrictTypeChecking, Custom] void getBufferParameter();
529
[StrictTypeChecking] WebGLContextAttributes getContextAttributes();
531
[StrictTypeChecking] unsigned long getError();
533
// object getExtension(in DOMString name);
534
[StrictTypeChecking, Custom] any getExtension(in DOMString name);
536
// any getFramebufferAttachmentParameter(in unsigned long target, in unsigned long attachment, in unsigned long pname) raises(DOMException);
537
[StrictTypeChecking, Custom] void getFramebufferAttachmentParameter();
538
// any getParameter(in unsigned long pname) raises(DOMException);
539
[StrictTypeChecking, Custom] void getParameter();
540
// any getProgramParameter(in WebGLProgram program, in unsigned long pname) raises(DOMException);
541
[StrictTypeChecking, Custom] void getProgramParameter();
542
[StrictTypeChecking, TreatReturnedNullStringAs=Null] DOMString getProgramInfoLog(in WebGLProgram program) raises(DOMException);
543
// any getRenderbufferParameter(in unsigned long target, in unsigned long pname) raises(DOMException);
544
[StrictTypeChecking, Custom] void getRenderbufferParameter();
545
// any getShaderParameter(in WebGLShader shader, in unsigned long pname) raises(DOMException);
546
[StrictTypeChecking, Custom] void getShaderParameter() raises(DOMException);
548
[StrictTypeChecking, TreatReturnedNullStringAs=Null] DOMString getShaderInfoLog(in WebGLShader shader) raises(DOMException);
550
[StrictTypeChecking] WebGLShaderPrecisionFormat getShaderPrecisionFormat(in unsigned long shadertype, in unsigned long precisiontype) raises(DOMException);
552
[StrictTypeChecking, TreatReturnedNullStringAs=Null] DOMString getShaderSource(in WebGLShader shader) raises(DOMException);
554
[StrictTypeChecking, Custom] sequence<DOMString> getSupportedExtensions();
556
// any getTexParameter(in unsigned long target, in unsigned long pname) raises(DOMException);
557
[StrictTypeChecking, Custom] void getTexParameter();
559
// any getUniform(in WebGLProgram program, in WebGLUniformLocation location) raises(DOMException);
560
[StrictTypeChecking, Custom] void getUniform();
562
[StrictTypeChecking] WebGLUniformLocation getUniformLocation(in WebGLProgram program, in DOMString name) raises(DOMException);
564
// any getVertexAttrib(in unsigned long index, in unsigned long pname) raises(DOMException);
565
[StrictTypeChecking, Custom] void getVertexAttrib();
567
[StrictTypeChecking] long long getVertexAttribOffset(in unsigned long index, in unsigned long pname);
569
[StrictTypeChecking] void hint(in unsigned long target, in unsigned long mode);
570
[StrictTypeChecking] boolean isBuffer(in WebGLBuffer buffer);
571
[StrictTypeChecking] boolean isContextLost();
572
[StrictTypeChecking] boolean isEnabled(in unsigned long cap);
573
[StrictTypeChecking] boolean isFramebuffer(in WebGLFramebuffer framebuffer);
574
[StrictTypeChecking] boolean isProgram(in WebGLProgram program);
575
[StrictTypeChecking] boolean isRenderbuffer(in WebGLRenderbuffer renderbuffer);
576
[StrictTypeChecking] boolean isShader(in WebGLShader shader);
577
[StrictTypeChecking] boolean isTexture(in WebGLTexture texture);
578
[StrictTypeChecking] void lineWidth(in float width);
579
[StrictTypeChecking] void linkProgram(in WebGLProgram program) raises(DOMException);
580
[StrictTypeChecking] void pixelStorei(in unsigned long pname, in long param);
581
[StrictTypeChecking] void polygonOffset(in float factor, in float units);
583
[StrictTypeChecking] void readPixels(in long x, in long y, in long width, in long height, in unsigned long format, in unsigned long type, in ArrayBufferView pixels) raises(DOMException);
585
[StrictTypeChecking] void releaseShaderCompiler();
586
[StrictTypeChecking] void renderbufferStorage(in unsigned long target, in unsigned long internalformat, in long width, in long height);
587
[StrictTypeChecking] void sampleCoverage(in float value, in boolean invert);
588
[StrictTypeChecking] void scissor(in long x, in long y, in long width, in long height);
589
[StrictTypeChecking] void shaderSource(in WebGLShader shader, in DOMString string) raises(DOMException);
590
[StrictTypeChecking] void stencilFunc(in unsigned long func, in long ref, in unsigned long mask);
591
[StrictTypeChecking] void stencilFuncSeparate(in unsigned long face, in unsigned long func, in long ref, in unsigned long mask);
592
[StrictTypeChecking] void stencilMask(in unsigned long mask);
593
[StrictTypeChecking] void stencilMaskSeparate(in unsigned long face, in unsigned long mask);
594
[StrictTypeChecking] void stencilOp(in unsigned long fail, in unsigned long zfail, in unsigned long zpass);
595
[StrictTypeChecking] void stencilOpSeparate(in unsigned long face, in unsigned long fail, in unsigned long zfail, in unsigned long zpass);
597
[StrictTypeChecking] void texParameterf(in unsigned long target, in unsigned long pname, in float param);
598
[StrictTypeChecking] void texParameteri(in unsigned long target, in unsigned long pname, in long param);
601
[StrictTypeChecking] void texImage2D(in unsigned long target, in long level, in unsigned long internalformat, in long width, in long height,
602
in long border, in unsigned long format, in unsigned long type, in ArrayBufferView? pixels) raises (DOMException);
603
[StrictTypeChecking] void texImage2D(in unsigned long target, in long level, in unsigned long internalformat,
604
in unsigned long format, in unsigned long type, in ImageData? pixels) raises (DOMException);
605
[StrictTypeChecking] void texImage2D(in unsigned long target, in long level, in unsigned long internalformat,
606
in unsigned long format, in unsigned long type, in HTMLImageElement? image) raises (DOMException);
607
[StrictTypeChecking] void texImage2D(in unsigned long target, in long level, in unsigned long internalformat,
608
in unsigned long format, in unsigned long type, in HTMLCanvasElement? canvas) raises (DOMException);
609
#if defined(ENABLE_VIDEO) && ENABLE_VIDEO
610
[StrictTypeChecking] void texImage2D(in unsigned long target, in long level, in unsigned long internalformat,
611
in unsigned long format, in unsigned long type, in HTMLVideoElement? video) raises (DOMException);
614
[StrictTypeChecking] void texSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset,
615
in long width, in long height,
616
in unsigned long format, in unsigned long type, in ArrayBufferView? pixels) raises (DOMException);
617
[StrictTypeChecking] void texSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset,
618
in unsigned long format, in unsigned long type, in ImageData? pixels) raises (DOMException);
619
[StrictTypeChecking] void texSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset,
620
in unsigned long format, in unsigned long type, in HTMLImageElement? image) raises (DOMException);
621
[StrictTypeChecking] void texSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset,
622
in unsigned long format, in unsigned long type, in HTMLCanvasElement? canvas) raises (DOMException);
623
#if defined(ENABLE_VIDEO) && ENABLE_VIDEO
624
[StrictTypeChecking] void texSubImage2D(in unsigned long target, in long level, in long xoffset, in long yoffset,
625
in unsigned long format, in unsigned long type, in HTMLVideoElement? video) raises (DOMException);
628
[StrictTypeChecking] void uniform1f(in WebGLUniformLocation location, in float x) raises(DOMException);
629
[StrictTypeChecking, Custom] void uniform1fv(in WebGLUniformLocation location, in Float32Array v) raises(DOMException);
630
[StrictTypeChecking] void uniform1i(in WebGLUniformLocation location, in long x) raises(DOMException);
631
[StrictTypeChecking, Custom] void uniform1iv(in WebGLUniformLocation location, in Int32Array v) raises(DOMException);
632
[StrictTypeChecking] void uniform2f(in WebGLUniformLocation location, in float x, in float y) raises(DOMException);
633
[StrictTypeChecking, Custom] void uniform2fv(in WebGLUniformLocation location, in Float32Array v) raises(DOMException);
634
[StrictTypeChecking] void uniform2i(in WebGLUniformLocation location, in long x, in long y) raises(DOMException);
635
[StrictTypeChecking, Custom] void uniform2iv(in WebGLUniformLocation location, in Int32Array v) raises(DOMException);
636
[StrictTypeChecking] void uniform3f(in WebGLUniformLocation location, in float x, in float y, in float z) raises(DOMException);
637
[StrictTypeChecking, Custom] void uniform3fv(in WebGLUniformLocation location, in Float32Array v) raises(DOMException);
638
[StrictTypeChecking] void uniform3i(in WebGLUniformLocation location, in long x, in long y, in long z) raises(DOMException);
639
[StrictTypeChecking, Custom] void uniform3iv(in WebGLUniformLocation location, in Int32Array v) raises(DOMException);
640
[StrictTypeChecking] void uniform4f(in WebGLUniformLocation location, in float x, in float y, in float z, in float w) raises(DOMException);
641
[StrictTypeChecking, Custom] void uniform4fv(in WebGLUniformLocation location, in Float32Array v) raises(DOMException);
642
[StrictTypeChecking] void uniform4i(in WebGLUniformLocation location, in long x, in long y, in long z, in long w) raises(DOMException);
643
[StrictTypeChecking, Custom] void uniform4iv(in WebGLUniformLocation location, in Int32Array v) raises(DOMException);
645
[StrictTypeChecking, Custom] void uniformMatrix2fv(in WebGLUniformLocation location, in boolean transpose, in Float32Array array) raises(DOMException);
646
[StrictTypeChecking, Custom] void uniformMatrix3fv(in WebGLUniformLocation location, in boolean transpose, in Float32Array array) raises(DOMException);
647
[StrictTypeChecking, Custom] void uniformMatrix4fv(in WebGLUniformLocation location, in boolean transpose, in Float32Array array) raises(DOMException);
649
[StrictTypeChecking] void useProgram(in WebGLProgram program) raises(DOMException);
650
[StrictTypeChecking] void validateProgram(in WebGLProgram program) raises(DOMException);
652
[StrictTypeChecking] void vertexAttrib1f(in unsigned long indx, in float x);
653
[StrictTypeChecking, Custom] void vertexAttrib1fv(in unsigned long indx, in Float32Array values);
654
[StrictTypeChecking] void vertexAttrib2f(in unsigned long indx, in float x, in float y);
655
[StrictTypeChecking, Custom] void vertexAttrib2fv(in unsigned long indx, in Float32Array values);
656
[StrictTypeChecking] void vertexAttrib3f(in unsigned long indx, in float x, in float y, in float z);
657
[StrictTypeChecking, Custom] void vertexAttrib3fv(in unsigned long indx, in Float32Array values);
658
[StrictTypeChecking] void vertexAttrib4f(in unsigned long indx, in float x, in float y, in float z, in float w);
659
[StrictTypeChecking, Custom] void vertexAttrib4fv(in unsigned long indx, in Float32Array values);
660
[StrictTypeChecking] void vertexAttribPointer(in unsigned long indx, in long size, in unsigned long type, in boolean normalized,
661
in long stride, in long long offset) raises(DOMException);
663
[StrictTypeChecking] void viewport(in long x, in long y, in long width, in long height);