1 module spasm.bindings.webgl;
2 
3 import spasm.types;
4 import spasm.bindings.common;
5 import spasm.bindings.dom;
6 import spasm.bindings.html;
7 
8 @safe:
9 nothrow:
10 
11 alias BufferDataSource = SumType!(ArrayBuffer, ArrayBufferView);
12 alias GLbitfield = uint;
13 alias GLboolean = bool;
14 alias GLbyte = byte;
15 alias GLclampf = float;
16 alias GLenum = uint;
17 alias GLfloat = float;
18 alias GLint = int;
19 alias GLintptr = int;
20 alias GLshort = short;
21 alias GLsizei = int;
22 alias GLsizeiptr = int;
23 alias GLubyte = ubyte;
24 alias GLuint = uint;
25 alias GLushort = ushort;
26 alias TexImageSource = SumType!(ImageData, HTMLImageElement, HTMLCanvasElement, HTMLVideoElement);
27 struct WebGLActiveInfo {
28   nothrow:
29   JsHandle handle;
30   alias handle this;
31   this(Handle h) {
32     this.handle = JsHandle(h);
33   }
34   auto size()() {
35     return WebGLActiveInfo_size_Get(this.handle);
36   }
37   auto type()() {
38     return WebGLActiveInfo_type_Get(this.handle);
39   }
40   auto name()() {
41     return WebGLActiveInfo_name_Get(this.handle);
42   }
43 }
44 struct WebGLBuffer {
45   nothrow:
46   spasm.bindings.webgl.WebGLObject _parent;
47   alias _parent this;
48   this(Handle h) {
49     _parent = .WebGLObject(h);
50   }
51 }
52 struct WebGLContextAttributes {
53   nothrow:
54   JsHandle handle;
55   alias handle this;
56   this(Handle h) {
57     this.handle = JsHandle(h);
58   }
59   static auto create() {
60     return WebGLContextAttributes(spasm_add__object());
61   }
62   void alpha()(bool alpha) {
63     WebGLContextAttributes_alpha_Set(this.handle, alpha);
64   }
65   auto alpha()() {
66     return WebGLContextAttributes_alpha_Get(this.handle);
67   }
68   void depth()(bool depth) {
69     WebGLContextAttributes_depth_Set(this.handle, depth);
70   }
71   auto depth()() {
72     return WebGLContextAttributes_depth_Get(this.handle);
73   }
74   void stencil()(bool stencil) {
75     WebGLContextAttributes_stencil_Set(this.handle, stencil);
76   }
77   auto stencil()() {
78     return WebGLContextAttributes_stencil_Get(this.handle);
79   }
80   void antialias()(bool antialias) {
81     WebGLContextAttributes_antialias_Set(this.handle, antialias);
82   }
83   auto antialias()() {
84     return WebGLContextAttributes_antialias_Get(this.handle);
85   }
86   void premultipliedAlpha()(bool premultipliedAlpha) {
87     WebGLContextAttributes_premultipliedAlpha_Set(this.handle, premultipliedAlpha);
88   }
89   auto premultipliedAlpha()() {
90     return WebGLContextAttributes_premultipliedAlpha_Get(this.handle);
91   }
92   void preserveDrawingBuffer()(bool preserveDrawingBuffer) {
93     WebGLContextAttributes_preserveDrawingBuffer_Set(this.handle, preserveDrawingBuffer);
94   }
95   auto preserveDrawingBuffer()() {
96     return WebGLContextAttributes_preserveDrawingBuffer_Get(this.handle);
97   }
98   void preferLowPowerToHighPerformance()(bool preferLowPowerToHighPerformance) {
99     WebGLContextAttributes_preferLowPowerToHighPerformance_Set(this.handle, preferLowPowerToHighPerformance);
100   }
101   auto preferLowPowerToHighPerformance()() {
102     return WebGLContextAttributes_preferLowPowerToHighPerformance_Get(this.handle);
103   }
104   void failIfMajorPerformanceCaveat()(bool failIfMajorPerformanceCaveat) {
105     WebGLContextAttributes_failIfMajorPerformanceCaveat_Set(this.handle, failIfMajorPerformanceCaveat);
106   }
107   auto failIfMajorPerformanceCaveat()() {
108     return WebGLContextAttributes_failIfMajorPerformanceCaveat_Get(this.handle);
109   }
110 }
111 struct WebGLContextEvent {
112   nothrow:
113   spasm.bindings.dom.Event _parent;
114   alias _parent this;
115   this(Handle h) {
116     _parent = .Event(h);
117   }
118   auto statusMessage()() {
119     return WebGLContextEvent_statusMessage_Get(this._parent);
120   }
121 }
122 struct WebGLContextEventInit {
123   nothrow:
124   spasm.bindings.dom.EventInit _parent;
125   alias _parent this;
126   this(Handle h) {
127     _parent = .EventInit(h);
128   }
129   static auto create() {
130     return WebGLContextEventInit(spasm_add__object());
131   }
132   void statusMessage()(string statusMessage) {
133     WebGLContextEventInit_statusMessage_Set(this._parent, statusMessage);
134   }
135   auto statusMessage()() {
136     return WebGLContextEventInit_statusMessage_Get(this._parent);
137   }
138 }
139 struct WebGLFramebuffer {
140   nothrow:
141   spasm.bindings.webgl.WebGLObject _parent;
142   alias _parent this;
143   this(Handle h) {
144     _parent = .WebGLObject(h);
145   }
146 }
147 struct WebGLObject {
148   nothrow:
149   JsHandle handle;
150   alias handle this;
151   this(Handle h) {
152     this.handle = JsHandle(h);
153   }
154 }
155 struct WebGLProgram {
156   nothrow:
157   spasm.bindings.webgl.WebGLObject _parent;
158   alias _parent this;
159   this(Handle h) {
160     _parent = .WebGLObject(h);
161   }
162 }
163 struct WebGLRenderbuffer {
164   nothrow:
165   spasm.bindings.webgl.WebGLObject _parent;
166   alias _parent this;
167   this(Handle h) {
168     _parent = .WebGLObject(h);
169   }
170 }
171 struct WebGLRenderingContext {
172   nothrow:
173   JsHandle handle;
174   alias handle this;
175   this(Handle h) {
176     this.handle = JsHandle(h);
177   }
178 }
179 struct WebGLRenderingContextBase {
180   nothrow:
181   JsHandle handle;
182   alias handle this;
183   this(Handle h) {
184     this.handle = JsHandle(h);
185   }
186   enum uint DEPTH_BUFFER_BIT = 0x00000100;
187   enum uint STENCIL_BUFFER_BIT = 0x00000400;
188   enum uint COLOR_BUFFER_BIT = 0x00004000;
189   enum uint POINTS = 0x0000;
190   enum uint LINES = 0x0001;
191   enum uint LINE_LOOP = 0x0002;
192   enum uint LINE_STRIP = 0x0003;
193   enum uint TRIANGLES = 0x0004;
194   enum uint TRIANGLE_STRIP = 0x0005;
195   enum uint TRIANGLE_FAN = 0x0006;
196   enum uint ZERO = 0;
197   enum uint ONE = 1;
198   enum uint SRC_COLOR = 0x0300;
199   enum uint ONE_MINUS_SRC_COLOR = 0x0301;
200   enum uint SRC_ALPHA = 0x0302;
201   enum uint ONE_MINUS_SRC_ALPHA = 0x0303;
202   enum uint DST_ALPHA = 0x0304;
203   enum uint ONE_MINUS_DST_ALPHA = 0x0305;
204   enum uint DST_COLOR = 0x0306;
205   enum uint ONE_MINUS_DST_COLOR = 0x0307;
206   enum uint SRC_ALPHA_SATURATE = 0x0308;
207   enum uint FUNC_ADD = 0x8006;
208   enum uint BLEND_EQUATION = 0x8009;
209   enum uint BLEND_EQUATION_RGB = 0x8009;
210   enum uint BLEND_EQUATION_ALPHA = 0x883D;
211   enum uint FUNC_SUBTRACT = 0x800A;
212   enum uint FUNC_REVERSE_SUBTRACT = 0x800B;
213   enum uint BLEND_DST_RGB = 0x80C8;
214   enum uint BLEND_SRC_RGB = 0x80C9;
215   enum uint BLEND_DST_ALPHA = 0x80CA;
216   enum uint BLEND_SRC_ALPHA = 0x80CB;
217   enum uint CONSTANT_COLOR = 0x8001;
218   enum uint ONE_MINUS_CONSTANT_COLOR = 0x8002;
219   enum uint CONSTANT_ALPHA = 0x8003;
220   enum uint ONE_MINUS_CONSTANT_ALPHA = 0x8004;
221   enum uint BLEND_COLOR = 0x8005;
222   enum uint ARRAY_BUFFER = 0x8892;
223   enum uint ELEMENT_ARRAY_BUFFER = 0x8893;
224   enum uint ARRAY_BUFFER_BINDING = 0x8894;
225   enum uint ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
226   enum uint STREAM_DRAW = 0x88E0;
227   enum uint STATIC_DRAW = 0x88E4;
228   enum uint DYNAMIC_DRAW = 0x88E8;
229   enum uint BUFFER_SIZE = 0x8764;
230   enum uint BUFFER_USAGE = 0x8765;
231   enum uint CURRENT_VERTEX_ATTRIB = 0x8626;
232   enum uint FRONT = 0x0404;
233   enum uint BACK = 0x0405;
234   enum uint FRONT_AND_BACK = 0x0408;
235   enum uint CULL_FACE = 0x0B44;
236   enum uint BLEND = 0x0BE2;
237   enum uint DITHER = 0x0BD0;
238   enum uint STENCIL_TEST = 0x0B90;
239   enum uint DEPTH_TEST = 0x0B71;
240   enum uint SCISSOR_TEST = 0x0C11;
241   enum uint POLYGON_OFFSET_FILL = 0x8037;
242   enum uint SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
243   enum uint SAMPLE_COVERAGE = 0x80A0;
244   enum uint NO_ERROR = 0;
245   enum uint INVALID_ENUM = 0x0500;
246   enum uint INVALID_VALUE = 0x0501;
247   enum uint INVALID_OPERATION = 0x0502;
248   enum uint OUT_OF_MEMORY = 0x0505;
249   enum uint CW = 0x0900;
250   enum uint CCW = 0x0901;
251   enum uint LINE_WIDTH = 0x0B21;
252   enum uint ALIASED_POINT_SIZE_RANGE = 0x846D;
253   enum uint ALIASED_LINE_WIDTH_RANGE = 0x846E;
254   enum uint CULL_FACE_MODE = 0x0B45;
255   enum uint FRONT_FACE = 0x0B46;
256   enum uint DEPTH_RANGE = 0x0B70;
257   enum uint DEPTH_WRITEMASK = 0x0B72;
258   enum uint DEPTH_CLEAR_VALUE = 0x0B73;
259   enum uint DEPTH_FUNC = 0x0B74;
260   enum uint STENCIL_CLEAR_VALUE = 0x0B91;
261   enum uint STENCIL_FUNC = 0x0B92;
262   enum uint STENCIL_FAIL = 0x0B94;
263   enum uint STENCIL_PASS_DEPTH_FAIL = 0x0B95;
264   enum uint STENCIL_PASS_DEPTH_PASS = 0x0B96;
265   enum uint STENCIL_REF = 0x0B97;
266   enum uint STENCIL_VALUE_MASK = 0x0B93;
267   enum uint STENCIL_WRITEMASK = 0x0B98;
268   enum uint STENCIL_BACK_FUNC = 0x8800;
269   enum uint STENCIL_BACK_FAIL = 0x8801;
270   enum uint STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
271   enum uint STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
272   enum uint STENCIL_BACK_REF = 0x8CA3;
273   enum uint STENCIL_BACK_VALUE_MASK = 0x8CA4;
274   enum uint STENCIL_BACK_WRITEMASK = 0x8CA5;
275   enum uint VIEWPORT = 0x0BA2;
276   enum uint SCISSOR_BOX = 0x0C10;
277   enum uint COLOR_CLEAR_VALUE = 0x0C22;
278   enum uint COLOR_WRITEMASK = 0x0C23;
279   enum uint UNPACK_ALIGNMENT = 0x0CF5;
280   enum uint PACK_ALIGNMENT = 0x0D05;
281   enum uint MAX_TEXTURE_SIZE = 0x0D33;
282   enum uint MAX_VIEWPORT_DIMS = 0x0D3A;
283   enum uint SUBPIXEL_BITS = 0x0D50;
284   enum uint RED_BITS = 0x0D52;
285   enum uint GREEN_BITS = 0x0D53;
286   enum uint BLUE_BITS = 0x0D54;
287   enum uint ALPHA_BITS = 0x0D55;
288   enum uint DEPTH_BITS = 0x0D56;
289   enum uint STENCIL_BITS = 0x0D57;
290   enum uint POLYGON_OFFSET_UNITS = 0x2A00;
291   enum uint POLYGON_OFFSET_FACTOR = 0x8038;
292   enum uint TEXTURE_BINDING_2D = 0x8069;
293   enum uint SAMPLE_BUFFERS = 0x80A8;
294   enum uint SAMPLES = 0x80A9;
295   enum uint SAMPLE_COVERAGE_VALUE = 0x80AA;
296   enum uint SAMPLE_COVERAGE_INVERT = 0x80AB;
297   enum uint COMPRESSED_TEXTURE_FORMATS = 0x86A3;
298   enum uint DONT_CARE = 0x1100;
299   enum uint FASTEST = 0x1101;
300   enum uint NICEST = 0x1102;
301   enum uint GENERATE_MIPMAP_HINT = 0x8192;
302   enum uint BYTE = 0x1400;
303   enum uint UNSIGNED_BYTE = 0x1401;
304   enum uint SHORT = 0x1402;
305   enum uint UNSIGNED_SHORT = 0x1403;
306   enum uint INT = 0x1404;
307   enum uint UNSIGNED_INT = 0x1405;
308   enum uint FLOAT = 0x1406;
309   enum uint DEPTH_COMPONENT = 0x1902;
310   enum uint ALPHA = 0x1906;
311   enum uint RGB = 0x1907;
312   enum uint RGBA = 0x1908;
313   enum uint LUMINANCE = 0x1909;
314   enum uint LUMINANCE_ALPHA = 0x190A;
315   enum uint UNSIGNED_SHORT_4_4_4_4 = 0x8033;
316   enum uint UNSIGNED_SHORT_5_5_5_1 = 0x8034;
317   enum uint UNSIGNED_SHORT_5_6_5 = 0x8363;
318   enum uint FRAGMENT_SHADER = 0x8B30;
319   enum uint VERTEX_SHADER = 0x8B31;
320   enum uint MAX_VERTEX_ATTRIBS = 0x8869;
321   enum uint MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
322   enum uint MAX_VARYING_VECTORS = 0x8DFC;
323   enum uint MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
324   enum uint MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
325   enum uint MAX_TEXTURE_IMAGE_UNITS = 0x8872;
326   enum uint MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
327   enum uint SHADER_TYPE = 0x8B4F;
328   enum uint DELETE_STATUS = 0x8B80;
329   enum uint LINK_STATUS = 0x8B82;
330   enum uint VALIDATE_STATUS = 0x8B83;
331   enum uint ATTACHED_SHADERS = 0x8B85;
332   enum uint ACTIVE_UNIFORMS = 0x8B86;
333   enum uint ACTIVE_ATTRIBUTES = 0x8B89;
334   enum uint SHADING_LANGUAGE_VERSION = 0x8B8C;
335   enum uint CURRENT_PROGRAM = 0x8B8D;
336   enum uint NEVER = 0x0200;
337   enum uint LESS = 0x0201;
338   enum uint EQUAL = 0x0202;
339   enum uint LEQUAL = 0x0203;
340   enum uint GREATER = 0x0204;
341   enum uint NOTEQUAL = 0x0205;
342   enum uint GEQUAL = 0x0206;
343   enum uint ALWAYS = 0x0207;
344   enum uint KEEP = 0x1E00;
345   enum uint REPLACE = 0x1E01;
346   enum uint INCR = 0x1E02;
347   enum uint DECR = 0x1E03;
348   enum uint INVERT = 0x150A;
349   enum uint INCR_WRAP = 0x8507;
350   enum uint DECR_WRAP = 0x8508;
351   enum uint VENDOR = 0x1F00;
352   enum uint RENDERER = 0x1F01;
353   enum uint VERSION = 0x1F02;
354   enum uint NEAREST = 0x2600;
355   enum uint LINEAR = 0x2601;
356   enum uint NEAREST_MIPMAP_NEAREST = 0x2700;
357   enum uint LINEAR_MIPMAP_NEAREST = 0x2701;
358   enum uint NEAREST_MIPMAP_LINEAR = 0x2702;
359   enum uint LINEAR_MIPMAP_LINEAR = 0x2703;
360   enum uint TEXTURE_MAG_FILTER = 0x2800;
361   enum uint TEXTURE_MIN_FILTER = 0x2801;
362   enum uint TEXTURE_WRAP_S = 0x2802;
363   enum uint TEXTURE_WRAP_T = 0x2803;
364   enum uint TEXTURE_2D = 0x0DE1;
365   enum uint TEXTURE = 0x1702;
366   enum uint TEXTURE_CUBE_MAP = 0x8513;
367   enum uint TEXTURE_BINDING_CUBE_MAP = 0x8514;
368   enum uint TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
369   enum uint TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
370   enum uint TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
371   enum uint TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
372   enum uint TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
373   enum uint TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
374   enum uint MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
375   enum uint TEXTURE0 = 0x84C0;
376   enum uint TEXTURE1 = 0x84C1;
377   enum uint TEXTURE2 = 0x84C2;
378   enum uint TEXTURE3 = 0x84C3;
379   enum uint TEXTURE4 = 0x84C4;
380   enum uint TEXTURE5 = 0x84C5;
381   enum uint TEXTURE6 = 0x84C6;
382   enum uint TEXTURE7 = 0x84C7;
383   enum uint TEXTURE8 = 0x84C8;
384   enum uint TEXTURE9 = 0x84C9;
385   enum uint TEXTURE10 = 0x84CA;
386   enum uint TEXTURE11 = 0x84CB;
387   enum uint TEXTURE12 = 0x84CC;
388   enum uint TEXTURE13 = 0x84CD;
389   enum uint TEXTURE14 = 0x84CE;
390   enum uint TEXTURE15 = 0x84CF;
391   enum uint TEXTURE16 = 0x84D0;
392   enum uint TEXTURE17 = 0x84D1;
393   enum uint TEXTURE18 = 0x84D2;
394   enum uint TEXTURE19 = 0x84D3;
395   enum uint TEXTURE20 = 0x84D4;
396   enum uint TEXTURE21 = 0x84D5;
397   enum uint TEXTURE22 = 0x84D6;
398   enum uint TEXTURE23 = 0x84D7;
399   enum uint TEXTURE24 = 0x84D8;
400   enum uint TEXTURE25 = 0x84D9;
401   enum uint TEXTURE26 = 0x84DA;
402   enum uint TEXTURE27 = 0x84DB;
403   enum uint TEXTURE28 = 0x84DC;
404   enum uint TEXTURE29 = 0x84DD;
405   enum uint TEXTURE30 = 0x84DE;
406   enum uint TEXTURE31 = 0x84DF;
407   enum uint ACTIVE_TEXTURE = 0x84E0;
408   enum uint REPEAT = 0x2901;
409   enum uint CLAMP_TO_EDGE = 0x812F;
410   enum uint MIRRORED_REPEAT = 0x8370;
411   enum uint FLOAT_VEC2 = 0x8B50;
412   enum uint FLOAT_VEC3 = 0x8B51;
413   enum uint FLOAT_VEC4 = 0x8B52;
414   enum uint INT_VEC2 = 0x8B53;
415   enum uint INT_VEC3 = 0x8B54;
416   enum uint INT_VEC4 = 0x8B55;
417   enum uint BOOL = 0x8B56;
418   enum uint BOOL_VEC2 = 0x8B57;
419   enum uint BOOL_VEC3 = 0x8B58;
420   enum uint BOOL_VEC4 = 0x8B59;
421   enum uint FLOAT_MAT2 = 0x8B5A;
422   enum uint FLOAT_MAT3 = 0x8B5B;
423   enum uint FLOAT_MAT4 = 0x8B5C;
424   enum uint SAMPLER_2D = 0x8B5E;
425   enum uint SAMPLER_CUBE = 0x8B60;
426   enum uint VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
427   enum uint VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
428   enum uint VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
429   enum uint VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
430   enum uint VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
431   enum uint VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
432   enum uint VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
433   enum uint IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A;
434   enum uint IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
435   enum uint COMPILE_STATUS = 0x8B81;
436   enum uint LOW_FLOAT = 0x8DF0;
437   enum uint MEDIUM_FLOAT = 0x8DF1;
438   enum uint HIGH_FLOAT = 0x8DF2;
439   enum uint LOW_INT = 0x8DF3;
440   enum uint MEDIUM_INT = 0x8DF4;
441   enum uint HIGH_INT = 0x8DF5;
442   enum uint FRAMEBUFFER = 0x8D40;
443   enum uint RENDERBUFFER = 0x8D41;
444   enum uint RGBA4 = 0x8056;
445   enum uint RGB5_A1 = 0x8057;
446   enum uint RGB565 = 0x8D62;
447   enum uint DEPTH_COMPONENT16 = 0x81A5;
448   enum uint STENCIL_INDEX = 0x1901;
449   enum uint STENCIL_INDEX8 = 0x8D48;
450   enum uint DEPTH_STENCIL = 0x84F9;
451   enum uint RENDERBUFFER_WIDTH = 0x8D42;
452   enum uint RENDERBUFFER_HEIGHT = 0x8D43;
453   enum uint RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
454   enum uint RENDERBUFFER_RED_SIZE = 0x8D50;
455   enum uint RENDERBUFFER_GREEN_SIZE = 0x8D51;
456   enum uint RENDERBUFFER_BLUE_SIZE = 0x8D52;
457   enum uint RENDERBUFFER_ALPHA_SIZE = 0x8D53;
458   enum uint RENDERBUFFER_DEPTH_SIZE = 0x8D54;
459   enum uint RENDERBUFFER_STENCIL_SIZE = 0x8D55;
460   enum uint FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
461   enum uint FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
462   enum uint FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
463   enum uint FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
464   enum uint COLOR_ATTACHMENT0 = 0x8CE0;
465   enum uint DEPTH_ATTACHMENT = 0x8D00;
466   enum uint STENCIL_ATTACHMENT = 0x8D20;
467   enum uint DEPTH_STENCIL_ATTACHMENT = 0x821A;
468   enum uint NONE = 0;
469   enum uint FRAMEBUFFER_COMPLETE = 0x8CD5;
470   enum uint FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
471   enum uint FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
472   enum uint FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9;
473   enum uint FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
474   enum uint FRAMEBUFFER_BINDING = 0x8CA6;
475   enum uint RENDERBUFFER_BINDING = 0x8CA7;
476   enum uint MAX_RENDERBUFFER_SIZE = 0x84E8;
477   enum uint INVALID_FRAMEBUFFER_OPERATION = 0x0506;
478   enum uint UNPACK_FLIP_Y_WEBGL = 0x9240;
479   enum uint UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241;
480   enum uint CONTEXT_LOST_WEBGL = 0x9242;
481   enum uint UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;
482   enum uint BROWSER_DEFAULT_WEBGL = 0x9244;
483   auto canvas()() {
484     return HTMLCanvasElement(WebGLRenderingContextBase_canvas_Get(this.handle));
485   }
486   auto drawingBufferWidth()() {
487     return WebGLRenderingContextBase_drawingBufferWidth_Get(this.handle);
488   }
489   auto drawingBufferHeight()() {
490     return WebGLRenderingContextBase_drawingBufferHeight_Get(this.handle);
491   }
492   auto getContextAttributes()() {
493     return WebGLRenderingContextBase_getContextAttributes(this.handle);
494   }
495   auto isContextLost()() {
496     return WebGLRenderingContextBase_isContextLost(this.handle);
497   }
498   auto getSupportedExtensions()() {
499     return WebGLRenderingContextBase_getSupportedExtensions(this.handle);
500   }
501   auto getExtension()(string name) {
502     return WebGLRenderingContextBase_getExtension(this.handle, name);
503   }
504   void activeTexture()(uint texture) {
505     WebGLRenderingContextBase_activeTexture(this.handle, texture);
506   }
507   void attachShader(T0, T1)(scope auto ref Optional!(T0) program, scope auto ref Optional!(T1) shader) if (isTOrPointer!(T0, WebGLProgram) && isTOrPointer!(T1, WebGLShader)) {
508     WebGLRenderingContextBase_attachShader(this.handle, !program.empty, program.front._parent, !shader.empty, shader.front._parent);
509   }
510   void bindAttribLocation(T0)(scope auto ref Optional!(T0) program, uint index, string name) if (isTOrPointer!(T0, WebGLProgram)) {
511     WebGLRenderingContextBase_bindAttribLocation(this.handle, !program.empty, program.front._parent, index, name);
512   }
513   void bindBuffer(T1)(uint target, scope auto ref Optional!(T1) buffer) if (isTOrPointer!(T1, WebGLBuffer)) {
514     WebGLRenderingContextBase_bindBuffer(this.handle, target, !buffer.empty, buffer.front._parent);
515   }
516   void bindFramebuffer(T1)(uint target, scope auto ref Optional!(T1) framebuffer) if (isTOrPointer!(T1, WebGLFramebuffer)) {
517     WebGLRenderingContextBase_bindFramebuffer(this.handle, target, !framebuffer.empty, framebuffer.front._parent);
518   }
519   void bindRenderbuffer(T1)(uint target, scope auto ref Optional!(T1) renderbuffer) if (isTOrPointer!(T1, WebGLRenderbuffer)) {
520     WebGLRenderingContextBase_bindRenderbuffer(this.handle, target, !renderbuffer.empty, renderbuffer.front._parent);
521   }
522   void bindTexture(T1)(uint target, scope auto ref Optional!(T1) texture) if (isTOrPointer!(T1, WebGLTexture)) {
523     WebGLRenderingContextBase_bindTexture(this.handle, target, !texture.empty, texture.front._parent);
524   }
525   void blendColor()(float red, float green, float blue, float alpha) {
526     WebGLRenderingContextBase_blendColor(this.handle, red, green, blue, alpha);
527   }
528   void blendEquation()(uint mode) {
529     WebGLRenderingContextBase_blendEquation(this.handle, mode);
530   }
531   void blendEquationSeparate()(uint modeRGB, uint modeAlpha) {
532     WebGLRenderingContextBase_blendEquationSeparate(this.handle, modeRGB, modeAlpha);
533   }
534   void blendFunc()(uint sfactor, uint dfactor) {
535     WebGLRenderingContextBase_blendFunc(this.handle, sfactor, dfactor);
536   }
537   void blendFuncSeparate()(uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha) {
538     WebGLRenderingContextBase_blendFuncSeparate(this.handle, srcRGB, dstRGB, srcAlpha, dstAlpha);
539   }
540   void bufferData()(uint target, int size, uint usage) {
541     WebGLRenderingContextBase_bufferData__uint_int_uint(this.handle, target, size, usage);
542   }
543   void bufferData(T1)(uint target, scope auto ref Optional!(T1) data, uint usage) if (isTOrPointer!(T1, BufferDataSource)) {
544     WebGLRenderingContextBase_bufferData__uint_optional_BufferDataSource_uint(this.handle, target, !data.empty, *data.frontRef, usage);
545   }
546   void bufferSubData(T2)(uint target, int offset, scope auto ref Optional!(T2) data) if (isTOrPointer!(T2, BufferDataSource)) {
547     WebGLRenderingContextBase_bufferSubData(this.handle, target, offset, !data.empty, *data.frontRef);
548   }
549   auto checkFramebufferStatus()(uint target) {
550     return WebGLRenderingContextBase_checkFramebufferStatus(this.handle, target);
551   }
552   void clear()(uint mask) {
553     WebGLRenderingContextBase_clear(this.handle, mask);
554   }
555   void clearColor()(float red, float green, float blue, float alpha) {
556     WebGLRenderingContextBase_clearColor(this.handle, red, green, blue, alpha);
557   }
558   void clearDepth()(float depth) {
559     WebGLRenderingContextBase_clearDepth(this.handle, depth);
560   }
561   void clearStencil()(int s) {
562     WebGLRenderingContextBase_clearStencil(this.handle, s);
563   }
564   void colorMask()(bool red, bool green, bool blue, bool alpha) {
565     WebGLRenderingContextBase_colorMask(this.handle, red, green, blue, alpha);
566   }
567   void compileShader(T0)(scope auto ref Optional!(T0) shader) if (isTOrPointer!(T0, WebGLShader)) {
568     WebGLRenderingContextBase_compileShader(this.handle, !shader.empty, shader.front._parent);
569   }
570   void compressedTexImage2D()(uint target, int level, uint internalformat, int width, int height, int border, scope ref ArrayBufferView data) {
571     WebGLRenderingContextBase_compressedTexImage2D(this.handle, target, level, internalformat, width, height, border, data);
572   }
573   void compressedTexSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, scope ref ArrayBufferView data) {
574     WebGLRenderingContextBase_compressedTexSubImage2D(this.handle, target, level, xoffset, yoffset, width, height, format, data);
575   }
576   void copyTexImage2D()(uint target, int level, uint internalformat, int x, int y, int width, int height, int border) {
577     WebGLRenderingContextBase_copyTexImage2D(this.handle, target, level, internalformat, x, y, width, height, border);
578   }
579   void copyTexSubImage2D()(uint target, int level, int xoffset, int yoffset, int x, int y, int width, int height) {
580     WebGLRenderingContextBase_copyTexSubImage2D(this.handle, target, level, xoffset, yoffset, x, y, width, height);
581   }
582   auto createBuffer()() {
583     return WebGLRenderingContextBase_createBuffer(this.handle);
584   }
585   auto createFramebuffer()() {
586     return WebGLRenderingContextBase_createFramebuffer(this.handle);
587   }
588   auto createProgram()() {
589     return WebGLRenderingContextBase_createProgram(this.handle);
590   }
591   auto createRenderbuffer()() {
592     return WebGLRenderingContextBase_createRenderbuffer(this.handle);
593   }
594   auto createShader()(uint type) {
595     return WebGLRenderingContextBase_createShader(this.handle, type);
596   }
597   auto createTexture()() {
598     return WebGLRenderingContextBase_createTexture(this.handle);
599   }
600   void cullFace()(uint mode) {
601     WebGLRenderingContextBase_cullFace(this.handle, mode);
602   }
603   void deleteBuffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, WebGLBuffer)) {
604     WebGLRenderingContextBase_deleteBuffer(this.handle, !buffer.empty, buffer.front._parent);
605   }
606   void deleteFramebuffer(T0)(scope auto ref Optional!(T0) framebuffer) if (isTOrPointer!(T0, WebGLFramebuffer)) {
607     WebGLRenderingContextBase_deleteFramebuffer(this.handle, !framebuffer.empty, framebuffer.front._parent);
608   }
609   void deleteProgram(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
610     WebGLRenderingContextBase_deleteProgram(this.handle, !program.empty, program.front._parent);
611   }
612   void deleteRenderbuffer(T0)(scope auto ref Optional!(T0) renderbuffer) if (isTOrPointer!(T0, WebGLRenderbuffer)) {
613     WebGLRenderingContextBase_deleteRenderbuffer(this.handle, !renderbuffer.empty, renderbuffer.front._parent);
614   }
615   void deleteShader(T0)(scope auto ref Optional!(T0) shader) if (isTOrPointer!(T0, WebGLShader)) {
616     WebGLRenderingContextBase_deleteShader(this.handle, !shader.empty, shader.front._parent);
617   }
618   void deleteTexture(T0)(scope auto ref Optional!(T0) texture) if (isTOrPointer!(T0, WebGLTexture)) {
619     WebGLRenderingContextBase_deleteTexture(this.handle, !texture.empty, texture.front._parent);
620   }
621   void depthFunc()(uint func) {
622     WebGLRenderingContextBase_depthFunc(this.handle, func);
623   }
624   void depthMask()(bool flag) {
625     WebGLRenderingContextBase_depthMask(this.handle, flag);
626   }
627   void depthRange()(float zNear, float zFar) {
628     WebGLRenderingContextBase_depthRange(this.handle, zNear, zFar);
629   }
630   void detachShader(T0, T1)(scope auto ref Optional!(T0) program, scope auto ref Optional!(T1) shader) if (isTOrPointer!(T0, WebGLProgram) && isTOrPointer!(T1, WebGLShader)) {
631     WebGLRenderingContextBase_detachShader(this.handle, !program.empty, program.front._parent, !shader.empty, shader.front._parent);
632   }
633   void disable()(uint cap) {
634     WebGLRenderingContextBase_disable(this.handle, cap);
635   }
636   void disableVertexAttribArray()(uint index) {
637     WebGLRenderingContextBase_disableVertexAttribArray(this.handle, index);
638   }
639   void drawArrays()(uint mode, int first, int count) {
640     WebGLRenderingContextBase_drawArrays(this.handle, mode, first, count);
641   }
642   void drawElements()(uint mode, int count, uint type, int offset) {
643     WebGLRenderingContextBase_drawElements(this.handle, mode, count, type, offset);
644   }
645   void enable()(uint cap) {
646     WebGLRenderingContextBase_enable(this.handle, cap);
647   }
648   void enableVertexAttribArray()(uint index) {
649     WebGLRenderingContextBase_enableVertexAttribArray(this.handle, index);
650   }
651   void finish()() {
652     WebGLRenderingContextBase_finish(this.handle);
653   }
654   void flush()() {
655     WebGLRenderingContextBase_flush(this.handle);
656   }
657   void framebufferRenderbuffer(T3)(uint target, uint attachment, uint renderbuffertarget, scope auto ref Optional!(T3) renderbuffer) if (isTOrPointer!(T3, WebGLRenderbuffer)) {
658     WebGLRenderingContextBase_framebufferRenderbuffer(this.handle, target, attachment, renderbuffertarget, !renderbuffer.empty, renderbuffer.front._parent);
659   }
660   void framebufferTexture2D(T3)(uint target, uint attachment, uint textarget, scope auto ref Optional!(T3) texture, int level) if (isTOrPointer!(T3, WebGLTexture)) {
661     WebGLRenderingContextBase_framebufferTexture2D(this.handle, target, attachment, textarget, !texture.empty, texture.front._parent, level);
662   }
663   void frontFace()(uint mode) {
664     WebGLRenderingContextBase_frontFace(this.handle, mode);
665   }
666   void generateMipmap()(uint target) {
667     WebGLRenderingContextBase_generateMipmap(this.handle, target);
668   }
669   auto getActiveAttrib(T0)(scope auto ref Optional!(T0) program, uint index) if (isTOrPointer!(T0, WebGLProgram)) {
670     return WebGLRenderingContextBase_getActiveAttrib(this.handle, !program.empty, program.front._parent, index);
671   }
672   auto getActiveUniform(T0)(scope auto ref Optional!(T0) program, uint index) if (isTOrPointer!(T0, WebGLProgram)) {
673     return WebGLRenderingContextBase_getActiveUniform(this.handle, !program.empty, program.front._parent, index);
674   }
675   auto getAttachedShaders(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
676     return WebGLRenderingContextBase_getAttachedShaders(this.handle, !program.empty, program.front._parent);
677   }
678   auto getAttribLocation(T0)(scope auto ref Optional!(T0) program, string name) if (isTOrPointer!(T0, WebGLProgram)) {
679     return WebGLRenderingContextBase_getAttribLocation(this.handle, !program.empty, program.front._parent, name);
680   }
681   auto getBufferParameter()(uint target, uint pname) {
682     return Any(WebGLRenderingContextBase_getBufferParameter(this.handle, target, pname));
683   }
684   auto getParameter()(uint pname) {
685     return Any(WebGLRenderingContextBase_getParameter(this.handle, pname));
686   }
687   auto getError()() {
688     return WebGLRenderingContextBase_getError(this.handle);
689   }
690   auto getFramebufferAttachmentParameter()(uint target, uint attachment, uint pname) {
691     return Any(WebGLRenderingContextBase_getFramebufferAttachmentParameter(this.handle, target, attachment, pname));
692   }
693   auto getProgramParameter(T0)(scope auto ref Optional!(T0) program, uint pname) if (isTOrPointer!(T0, WebGLProgram)) {
694     return Any(WebGLRenderingContextBase_getProgramParameter(this.handle, !program.empty, program.front._parent, pname));
695   }
696   auto getProgramInfoLog(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
697     return WebGLRenderingContextBase_getProgramInfoLog(this.handle, !program.empty, program.front._parent);
698   }
699   auto getRenderbufferParameter()(uint target, uint pname) {
700     return Any(WebGLRenderingContextBase_getRenderbufferParameter(this.handle, target, pname));
701   }
702   auto getShaderParameter(T0)(scope auto ref Optional!(T0) shader, uint pname) if (isTOrPointer!(T0, WebGLShader)) {
703     return Any(WebGLRenderingContextBase_getShaderParameter(this.handle, !shader.empty, shader.front._parent, pname));
704   }
705   auto getShaderPrecisionFormat()(uint shadertype, uint precisiontype) {
706     return WebGLRenderingContextBase_getShaderPrecisionFormat(this.handle, shadertype, precisiontype);
707   }
708   auto getShaderInfoLog(T0)(scope auto ref Optional!(T0) shader) if (isTOrPointer!(T0, WebGLShader)) {
709     return WebGLRenderingContextBase_getShaderInfoLog(this.handle, !shader.empty, shader.front._parent);
710   }
711   auto getShaderSource(T0)(scope auto ref Optional!(T0) shader) if (isTOrPointer!(T0, WebGLShader)) {
712     return WebGLRenderingContextBase_getShaderSource(this.handle, !shader.empty, shader.front._parent);
713   }
714   auto getTexParameter()(uint target, uint pname) {
715     return Any(WebGLRenderingContextBase_getTexParameter(this.handle, target, pname));
716   }
717   auto getUniform(T0, T1)(scope auto ref Optional!(T0) program, scope auto ref Optional!(T1) location) if (isTOrPointer!(T0, WebGLProgram) && isTOrPointer!(T1, WebGLUniformLocation)) {
718     return Any(WebGLRenderingContextBase_getUniform(this.handle, !program.empty, program.front._parent, !location.empty, location.front.handle));
719   }
720   auto getUniformLocation(T0)(scope auto ref Optional!(T0) program, string name) if (isTOrPointer!(T0, WebGLProgram)) {
721     return WebGLRenderingContextBase_getUniformLocation(this.handle, !program.empty, program.front._parent, name);
722   }
723   auto getVertexAttrib()(uint index, uint pname) {
724     return Any(WebGLRenderingContextBase_getVertexAttrib(this.handle, index, pname));
725   }
726   auto getVertexAttribOffset()(uint index, uint pname) {
727     return WebGLRenderingContextBase_getVertexAttribOffset(this.handle, index, pname);
728   }
729   void hint()(uint target, uint mode) {
730     WebGLRenderingContextBase_hint(this.handle, target, mode);
731   }
732   auto isBuffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, WebGLBuffer)) {
733     return WebGLRenderingContextBase_isBuffer(this.handle, !buffer.empty, buffer.front._parent);
734   }
735   auto isEnabled()(uint cap) {
736     return WebGLRenderingContextBase_isEnabled(this.handle, cap);
737   }
738   auto isFramebuffer(T0)(scope auto ref Optional!(T0) framebuffer) if (isTOrPointer!(T0, WebGLFramebuffer)) {
739     return WebGLRenderingContextBase_isFramebuffer(this.handle, !framebuffer.empty, framebuffer.front._parent);
740   }
741   auto isProgram(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
742     return WebGLRenderingContextBase_isProgram(this.handle, !program.empty, program.front._parent);
743   }
744   auto isRenderbuffer(T0)(scope auto ref Optional!(T0) renderbuffer) if (isTOrPointer!(T0, WebGLRenderbuffer)) {
745     return WebGLRenderingContextBase_isRenderbuffer(this.handle, !renderbuffer.empty, renderbuffer.front._parent);
746   }
747   auto isShader(T0)(scope auto ref Optional!(T0) shader) if (isTOrPointer!(T0, WebGLShader)) {
748     return WebGLRenderingContextBase_isShader(this.handle, !shader.empty, shader.front._parent);
749   }
750   auto isTexture(T0)(scope auto ref Optional!(T0) texture) if (isTOrPointer!(T0, WebGLTexture)) {
751     return WebGLRenderingContextBase_isTexture(this.handle, !texture.empty, texture.front._parent);
752   }
753   void lineWidth()(float width) {
754     WebGLRenderingContextBase_lineWidth(this.handle, width);
755   }
756   void linkProgram(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
757     WebGLRenderingContextBase_linkProgram(this.handle, !program.empty, program.front._parent);
758   }
759   void pixelStorei()(uint pname, int param) {
760     WebGLRenderingContextBase_pixelStorei(this.handle, pname, param);
761   }
762   void polygonOffset()(float factor, float units) {
763     WebGLRenderingContextBase_polygonOffset(this.handle, factor, units);
764   }
765   void readPixels(T6)(int x, int y, int width, int height, uint format, uint type, scope auto ref Optional!(T6) pixels) if (isTOrPointer!(T6, ArrayBufferView)) {
766     WebGLRenderingContextBase_readPixels(this.handle, x, y, width, height, format, type, !pixels.empty, *pixels.frontRef);
767   }
768   void renderbufferStorage()(uint target, uint internalformat, int width, int height) {
769     WebGLRenderingContextBase_renderbufferStorage(this.handle, target, internalformat, width, height);
770   }
771   void sampleCoverage()(float value, bool invert) {
772     WebGLRenderingContextBase_sampleCoverage(this.handle, value, invert);
773   }
774   void scissor()(int x, int y, int width, int height) {
775     WebGLRenderingContextBase_scissor(this.handle, x, y, width, height);
776   }
777   void shaderSource(T0)(scope auto ref Optional!(T0) shader, string source) if (isTOrPointer!(T0, WebGLShader)) {
778     WebGLRenderingContextBase_shaderSource(this.handle, !shader.empty, shader.front._parent, source);
779   }
780   void stencilFunc()(uint func, int ref_, uint mask) {
781     WebGLRenderingContextBase_stencilFunc(this.handle, func, ref_, mask);
782   }
783   void stencilFuncSeparate()(uint face, uint func, int ref_, uint mask) {
784     WebGLRenderingContextBase_stencilFuncSeparate(this.handle, face, func, ref_, mask);
785   }
786   void stencilMask()(uint mask) {
787     WebGLRenderingContextBase_stencilMask(this.handle, mask);
788   }
789   void stencilMaskSeparate()(uint face, uint mask) {
790     WebGLRenderingContextBase_stencilMaskSeparate(this.handle, face, mask);
791   }
792   void stencilOp()(uint fail, uint zfail, uint zpass) {
793     WebGLRenderingContextBase_stencilOp(this.handle, fail, zfail, zpass);
794   }
795   void stencilOpSeparate()(uint face, uint fail, uint zfail, uint zpass) {
796     WebGLRenderingContextBase_stencilOpSeparate(this.handle, face, fail, zfail, zpass);
797   }
798   void texImage2D(T8)(uint target, int level, uint internalformat, int width, int height, int border, uint format, uint type, scope auto ref Optional!(T8) pixels) if (isTOrPointer!(T8, ArrayBufferView)) {
799     WebGLRenderingContextBase_texImage2D__uint_int_uint_int_int_int_uint_uint_optional_ArrayBufferView(this.handle, target, level, internalformat, width, height, border, format, type, !pixels.empty, *pixels.frontRef);
800   }
801   void texImage2D(T5)(uint target, int level, uint internalformat, uint format, uint type, scope auto ref Optional!(T5) source) if (isTOrPointer!(T5, TexImageSource)) {
802     WebGLRenderingContextBase_texImage2D__uint_int_uint_uint_uint_optional_TexImageSource(this.handle, target, level, internalformat, format, type, !source.empty, *source.frontRef);
803   }
804   void texParameterf()(uint target, uint pname, float param) {
805     WebGLRenderingContextBase_texParameterf(this.handle, target, pname, param);
806   }
807   void texParameteri()(uint target, uint pname, int param) {
808     WebGLRenderingContextBase_texParameteri(this.handle, target, pname, param);
809   }
810   void texSubImage2D(T8)(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, scope auto ref Optional!(T8) pixels) if (isTOrPointer!(T8, ArrayBufferView)) {
811     WebGLRenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_optional_ArrayBufferView(this.handle, target, level, xoffset, yoffset, width, height, format, type, !pixels.empty, *pixels.frontRef);
812   }
813   void texSubImage2D(T6)(uint target, int level, int xoffset, int yoffset, uint format, uint type, scope auto ref Optional!(T6) source) if (isTOrPointer!(T6, TexImageSource)) {
814     WebGLRenderingContextBase_texSubImage2D__uint_int_int_int_uint_uint_optional_TexImageSource(this.handle, target, level, xoffset, yoffset, format, type, !source.empty, *source.frontRef);
815   }
816   void uniform1f(T0)(scope auto ref Optional!(T0) location, float x) if (isTOrPointer!(T0, WebGLUniformLocation)) {
817     WebGLRenderingContextBase_uniform1f(this.handle, !location.empty, location.front.handle, x);
818   }
819   void uniform1fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
820     WebGLRenderingContextBase_uniform1fv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
821   }
822   void uniform1fv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(float) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
823     WebGLRenderingContextBase_uniform1fv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
824   }
825   void uniform1i(T0)(scope auto ref Optional!(T0) location, int x) if (isTOrPointer!(T0, WebGLUniformLocation)) {
826     WebGLRenderingContextBase_uniform1i(this.handle, !location.empty, location.front.handle, x);
827   }
828   void uniform1iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
829     WebGLRenderingContextBase_uniform1iv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
830   }
831   void uniform1iv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(int) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
832     WebGLRenderingContextBase_uniform1iv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
833   }
834   void uniform2f(T0)(scope auto ref Optional!(T0) location, float x, float y) if (isTOrPointer!(T0, WebGLUniformLocation)) {
835     WebGLRenderingContextBase_uniform2f(this.handle, !location.empty, location.front.handle, x, y);
836   }
837   void uniform2fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
838     WebGLRenderingContextBase_uniform2fv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
839   }
840   void uniform2fv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(float) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
841     WebGLRenderingContextBase_uniform2fv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
842   }
843   void uniform2i(T0)(scope auto ref Optional!(T0) location, int x, int y) if (isTOrPointer!(T0, WebGLUniformLocation)) {
844     WebGLRenderingContextBase_uniform2i(this.handle, !location.empty, location.front.handle, x, y);
845   }
846   void uniform2iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
847     WebGLRenderingContextBase_uniform2iv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
848   }
849   void uniform2iv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(int) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
850     WebGLRenderingContextBase_uniform2iv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
851   }
852   void uniform3f(T0)(scope auto ref Optional!(T0) location, float x, float y, float z) if (isTOrPointer!(T0, WebGLUniformLocation)) {
853     WebGLRenderingContextBase_uniform3f(this.handle, !location.empty, location.front.handle, x, y, z);
854   }
855   void uniform3fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
856     WebGLRenderingContextBase_uniform3fv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
857   }
858   void uniform3fv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(float) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
859     WebGLRenderingContextBase_uniform3fv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
860   }
861   void uniform3i(T0)(scope auto ref Optional!(T0) location, int x, int y, int z) if (isTOrPointer!(T0, WebGLUniformLocation)) {
862     WebGLRenderingContextBase_uniform3i(this.handle, !location.empty, location.front.handle, x, y, z);
863   }
864   void uniform3iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
865     WebGLRenderingContextBase_uniform3iv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
866   }
867   void uniform3iv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(int) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
868     WebGLRenderingContextBase_uniform3iv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
869   }
870   void uniform4f(T0)(scope auto ref Optional!(T0) location, float x, float y, float z, float w) if (isTOrPointer!(T0, WebGLUniformLocation)) {
871     WebGLRenderingContextBase_uniform4f(this.handle, !location.empty, location.front.handle, x, y, z, w);
872   }
873   void uniform4fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
874     WebGLRenderingContextBase_uniform4fv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
875   }
876   void uniform4fv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(float) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
877     WebGLRenderingContextBase_uniform4fv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
878   }
879   void uniform4i(T0)(scope auto ref Optional!(T0) location, int x, int y, int z, int w) if (isTOrPointer!(T0, WebGLUniformLocation)) {
880     WebGLRenderingContextBase_uniform4i(this.handle, !location.empty, location.front.handle, x, y, z, w);
881   }
882   void uniform4iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32Array v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
883     WebGLRenderingContextBase_uniform4iv__optional_Handle_Handle(this.handle, !location.empty, location.front.handle, v.handle);
884   }
885   void uniform4iv(T0)(scope auto ref Optional!(T0) location, scope ref Sequence!(int) v) if (isTOrPointer!(T0, WebGLUniformLocation)) {
886     WebGLRenderingContextBase_uniform4iv__optional_Handle_sequence(this.handle, !location.empty, location.front.handle, v.handle);
887   }
888   void uniformMatrix2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32Array value) if (isTOrPointer!(T0, WebGLUniformLocation)) {
889     WebGLRenderingContextBase_uniformMatrix2fv__optional_Handle_bool_Handle(this.handle, !location.empty, location.front.handle, transpose, value.handle);
890   }
891   void uniformMatrix2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Sequence!(float) value) if (isTOrPointer!(T0, WebGLUniformLocation)) {
892     WebGLRenderingContextBase_uniformMatrix2fv__optional_Handle_bool_sequence(this.handle, !location.empty, location.front.handle, transpose, value.handle);
893   }
894   void uniformMatrix3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32Array value) if (isTOrPointer!(T0, WebGLUniformLocation)) {
895     WebGLRenderingContextBase_uniformMatrix3fv__optional_Handle_bool_Handle(this.handle, !location.empty, location.front.handle, transpose, value.handle);
896   }
897   void uniformMatrix3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Sequence!(float) value) if (isTOrPointer!(T0, WebGLUniformLocation)) {
898     WebGLRenderingContextBase_uniformMatrix3fv__optional_Handle_bool_sequence(this.handle, !location.empty, location.front.handle, transpose, value.handle);
899   }
900   void uniformMatrix4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32Array value) if (isTOrPointer!(T0, WebGLUniformLocation)) {
901     WebGLRenderingContextBase_uniformMatrix4fv__optional_Handle_bool_Handle(this.handle, !location.empty, location.front.handle, transpose, value.handle);
902   }
903   void uniformMatrix4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Sequence!(float) value) if (isTOrPointer!(T0, WebGLUniformLocation)) {
904     WebGLRenderingContextBase_uniformMatrix4fv__optional_Handle_bool_sequence(this.handle, !location.empty, location.front.handle, transpose, value.handle);
905   }
906   void useProgram(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
907     WebGLRenderingContextBase_useProgram(this.handle, !program.empty, program.front._parent);
908   }
909   void validateProgram(T0)(scope auto ref Optional!(T0) program) if (isTOrPointer!(T0, WebGLProgram)) {
910     WebGLRenderingContextBase_validateProgram(this.handle, !program.empty, program.front._parent);
911   }
912   void vertexAttrib1f()(uint indx, float x) {
913     WebGLRenderingContextBase_vertexAttrib1f(this.handle, indx, x);
914   }
915   void vertexAttrib1fv()(uint indx, scope ref Float32Array values) {
916     WebGLRenderingContextBase_vertexAttrib1fv__uint_Handle(this.handle, indx, values.handle);
917   }
918   void vertexAttrib1fv()(uint indx, scope ref Sequence!(float) values) {
919     WebGLRenderingContextBase_vertexAttrib1fv__uint_sequence(this.handle, indx, values.handle);
920   }
921   void vertexAttrib2f()(uint indx, float x, float y) {
922     WebGLRenderingContextBase_vertexAttrib2f(this.handle, indx, x, y);
923   }
924   void vertexAttrib2fv()(uint indx, scope ref Float32Array values) {
925     WebGLRenderingContextBase_vertexAttrib2fv__uint_Handle(this.handle, indx, values.handle);
926   }
927   void vertexAttrib2fv()(uint indx, scope ref Sequence!(float) values) {
928     WebGLRenderingContextBase_vertexAttrib2fv__uint_sequence(this.handle, indx, values.handle);
929   }
930   void vertexAttrib3f()(uint indx, float x, float y, float z) {
931     WebGLRenderingContextBase_vertexAttrib3f(this.handle, indx, x, y, z);
932   }
933   void vertexAttrib3fv()(uint indx, scope ref Float32Array values) {
934     WebGLRenderingContextBase_vertexAttrib3fv__uint_Handle(this.handle, indx, values.handle);
935   }
936   void vertexAttrib3fv()(uint indx, scope ref Sequence!(float) values) {
937     WebGLRenderingContextBase_vertexAttrib3fv__uint_sequence(this.handle, indx, values.handle);
938   }
939   void vertexAttrib4f()(uint indx, float x, float y, float z, float w) {
940     WebGLRenderingContextBase_vertexAttrib4f(this.handle, indx, x, y, z, w);
941   }
942   void vertexAttrib4fv()(uint indx, scope ref Float32Array values) {
943     WebGLRenderingContextBase_vertexAttrib4fv__uint_Handle(this.handle, indx, values.handle);
944   }
945   void vertexAttrib4fv()(uint indx, scope ref Sequence!(float) values) {
946     WebGLRenderingContextBase_vertexAttrib4fv__uint_sequence(this.handle, indx, values.handle);
947   }
948   void vertexAttribPointer()(uint indx, int size, uint type, bool normalized, int stride, int offset) {
949     WebGLRenderingContextBase_vertexAttribPointer(this.handle, indx, size, type, normalized, stride, offset);
950   }
951   void viewport()(int x, int y, int width, int height) {
952     WebGLRenderingContextBase_viewport(this.handle, x, y, width, height);
953   }
954 }
955 struct WebGLShader {
956   nothrow:
957   spasm.bindings.webgl.WebGLObject _parent;
958   alias _parent this;
959   this(Handle h) {
960     _parent = .WebGLObject(h);
961   }
962 }
963 struct WebGLShaderPrecisionFormat {
964   nothrow:
965   JsHandle handle;
966   alias handle this;
967   this(Handle h) {
968     this.handle = JsHandle(h);
969   }
970   auto rangeMin()() {
971     return WebGLShaderPrecisionFormat_rangeMin_Get(this.handle);
972   }
973   auto rangeMax()() {
974     return WebGLShaderPrecisionFormat_rangeMax_Get(this.handle);
975   }
976   auto precision()() {
977     return WebGLShaderPrecisionFormat_precision_Get(this.handle);
978   }
979 }
980 struct WebGLTexture {
981   nothrow:
982   spasm.bindings.webgl.WebGLObject _parent;
983   alias _parent this;
984   this(Handle h) {
985     _parent = .WebGLObject(h);
986   }
987 }
988 struct WebGLUniformLocation {
989   nothrow:
990   JsHandle handle;
991   alias handle this;
992   this(Handle h) {
993     this.handle = JsHandle(h);
994   }
995 }
996 
997 
998 extern (C) int WebGLActiveInfo_size_Get(Handle);
999 extern (C) uint WebGLActiveInfo_type_Get(Handle);
1000 extern (C) string WebGLActiveInfo_name_Get(Handle);
1001 extern (C) void WebGLContextAttributes_alpha_Set(Handle, bool);
1002 extern (C) bool WebGLContextAttributes_alpha_Get(Handle);
1003 extern (C) void WebGLContextAttributes_depth_Set(Handle, bool);
1004 extern (C) bool WebGLContextAttributes_depth_Get(Handle);
1005 extern (C) void WebGLContextAttributes_stencil_Set(Handle, bool);
1006 extern (C) bool WebGLContextAttributes_stencil_Get(Handle);
1007 extern (C) void WebGLContextAttributes_antialias_Set(Handle, bool);
1008 extern (C) bool WebGLContextAttributes_antialias_Get(Handle);
1009 extern (C) void WebGLContextAttributes_premultipliedAlpha_Set(Handle, bool);
1010 extern (C) bool WebGLContextAttributes_premultipliedAlpha_Get(Handle);
1011 extern (C) void WebGLContextAttributes_preserveDrawingBuffer_Set(Handle, bool);
1012 extern (C) bool WebGLContextAttributes_preserveDrawingBuffer_Get(Handle);
1013 extern (C) void WebGLContextAttributes_preferLowPowerToHighPerformance_Set(Handle, bool);
1014 extern (C) bool WebGLContextAttributes_preferLowPowerToHighPerformance_Get(Handle);
1015 extern (C) void WebGLContextAttributes_failIfMajorPerformanceCaveat_Set(Handle, bool);
1016 extern (C) bool WebGLContextAttributes_failIfMajorPerformanceCaveat_Get(Handle);
1017 extern (C) string WebGLContextEvent_statusMessage_Get(Handle);
1018 extern (C) void WebGLContextEventInit_statusMessage_Set(Handle, string);
1019 extern (C) string WebGLContextEventInit_statusMessage_Get(Handle);
1020 extern (C) Handle WebGLRenderingContextBase_canvas_Get(Handle);
1021 extern (C) int WebGLRenderingContextBase_drawingBufferWidth_Get(Handle);
1022 extern (C) int WebGLRenderingContextBase_drawingBufferHeight_Get(Handle);
1023 extern (C) Optional!(WebGLContextAttributes) WebGLRenderingContextBase_getContextAttributes(Handle);
1024 extern (C) bool WebGLRenderingContextBase_isContextLost(Handle);
1025 extern (C) Optional!(Sequence!(string)) WebGLRenderingContextBase_getSupportedExtensions(Handle);
1026 extern (C) Optional!(JsObject) WebGLRenderingContextBase_getExtension(Handle, string);
1027 extern (C) void WebGLRenderingContextBase_activeTexture(Handle, uint);
1028 extern (C) void WebGLRenderingContextBase_attachShader(Handle, bool, Handle, bool, Handle);
1029 extern (C) void WebGLRenderingContextBase_bindAttribLocation(Handle, bool, Handle, uint, string);
1030 extern (C) void WebGLRenderingContextBase_bindBuffer(Handle, uint, bool, Handle);
1031 extern (C) void WebGLRenderingContextBase_bindFramebuffer(Handle, uint, bool, Handle);
1032 extern (C) void WebGLRenderingContextBase_bindRenderbuffer(Handle, uint, bool, Handle);
1033 extern (C) void WebGLRenderingContextBase_bindTexture(Handle, uint, bool, Handle);
1034 extern (C) void WebGLRenderingContextBase_blendColor(Handle, float, float, float, float);
1035 extern (C) void WebGLRenderingContextBase_blendEquation(Handle, uint);
1036 extern (C) void WebGLRenderingContextBase_blendEquationSeparate(Handle, uint, uint);
1037 extern (C) void WebGLRenderingContextBase_blendFunc(Handle, uint, uint);
1038 extern (C) void WebGLRenderingContextBase_blendFuncSeparate(Handle, uint, uint, uint, uint);
1039 extern (C) void WebGLRenderingContextBase_bufferData__uint_int_uint(Handle, uint, int, uint);
1040 extern (C) void WebGLRenderingContextBase_bufferData__uint_optional_BufferDataSource_uint(Handle, uint, bool, scope ref BufferDataSource, uint);
1041 extern (C) void WebGLRenderingContextBase_bufferSubData(Handle, uint, int, bool, scope ref BufferDataSource);
1042 extern (C) uint WebGLRenderingContextBase_checkFramebufferStatus(Handle, uint);
1043 extern (C) void WebGLRenderingContextBase_clear(Handle, uint);
1044 extern (C) void WebGLRenderingContextBase_clearColor(Handle, float, float, float, float);
1045 extern (C) void WebGLRenderingContextBase_clearDepth(Handle, float);
1046 extern (C) void WebGLRenderingContextBase_clearStencil(Handle, int);
1047 extern (C) void WebGLRenderingContextBase_colorMask(Handle, bool, bool, bool, bool);
1048 extern (C) void WebGLRenderingContextBase_compileShader(Handle, bool, Handle);
1049 extern (C) void WebGLRenderingContextBase_compressedTexImage2D(Handle, uint, int, uint, int, int, int, scope ref ArrayBufferView);
1050 extern (C) void WebGLRenderingContextBase_compressedTexSubImage2D(Handle, uint, int, int, int, int, int, uint, scope ref ArrayBufferView);
1051 extern (C) void WebGLRenderingContextBase_copyTexImage2D(Handle, uint, int, uint, int, int, int, int, int);
1052 extern (C) void WebGLRenderingContextBase_copyTexSubImage2D(Handle, uint, int, int, int, int, int, int, int);
1053 extern (C) Optional!(WebGLBuffer) WebGLRenderingContextBase_createBuffer(Handle);
1054 extern (C) Optional!(WebGLFramebuffer) WebGLRenderingContextBase_createFramebuffer(Handle);
1055 extern (C) Optional!(WebGLProgram) WebGLRenderingContextBase_createProgram(Handle);
1056 extern (C) Optional!(WebGLRenderbuffer) WebGLRenderingContextBase_createRenderbuffer(Handle);
1057 extern (C) Optional!(WebGLShader) WebGLRenderingContextBase_createShader(Handle, uint);
1058 extern (C) Optional!(WebGLTexture) WebGLRenderingContextBase_createTexture(Handle);
1059 extern (C) void WebGLRenderingContextBase_cullFace(Handle, uint);
1060 extern (C) void WebGLRenderingContextBase_deleteBuffer(Handle, bool, Handle);
1061 extern (C) void WebGLRenderingContextBase_deleteFramebuffer(Handle, bool, Handle);
1062 extern (C) void WebGLRenderingContextBase_deleteProgram(Handle, bool, Handle);
1063 extern (C) void WebGLRenderingContextBase_deleteRenderbuffer(Handle, bool, Handle);
1064 extern (C) void WebGLRenderingContextBase_deleteShader(Handle, bool, Handle);
1065 extern (C) void WebGLRenderingContextBase_deleteTexture(Handle, bool, Handle);
1066 extern (C) void WebGLRenderingContextBase_depthFunc(Handle, uint);
1067 extern (C) void WebGLRenderingContextBase_depthMask(Handle, bool);
1068 extern (C) void WebGLRenderingContextBase_depthRange(Handle, float, float);
1069 extern (C) void WebGLRenderingContextBase_detachShader(Handle, bool, Handle, bool, Handle);
1070 extern (C) void WebGLRenderingContextBase_disable(Handle, uint);
1071 extern (C) void WebGLRenderingContextBase_disableVertexAttribArray(Handle, uint);
1072 extern (C) void WebGLRenderingContextBase_drawArrays(Handle, uint, int, int);
1073 extern (C) void WebGLRenderingContextBase_drawElements(Handle, uint, int, uint, int);
1074 extern (C) void WebGLRenderingContextBase_enable(Handle, uint);
1075 extern (C) void WebGLRenderingContextBase_enableVertexAttribArray(Handle, uint);
1076 extern (C) void WebGLRenderingContextBase_finish(Handle);
1077 extern (C) void WebGLRenderingContextBase_flush(Handle);
1078 extern (C) void WebGLRenderingContextBase_framebufferRenderbuffer(Handle, uint, uint, uint, bool, Handle);
1079 extern (C) void WebGLRenderingContextBase_framebufferTexture2D(Handle, uint, uint, uint, bool, Handle, int);
1080 extern (C) void WebGLRenderingContextBase_frontFace(Handle, uint);
1081 extern (C) void WebGLRenderingContextBase_generateMipmap(Handle, uint);
1082 extern (C) Optional!(WebGLActiveInfo) WebGLRenderingContextBase_getActiveAttrib(Handle, bool, Handle, uint);
1083 extern (C) Optional!(WebGLActiveInfo) WebGLRenderingContextBase_getActiveUniform(Handle, bool, Handle, uint);
1084 extern (C) Optional!(Sequence!(WebGLShader)) WebGLRenderingContextBase_getAttachedShaders(Handle, bool, Handle);
1085 extern (C) int WebGLRenderingContextBase_getAttribLocation(Handle, bool, Handle, string);
1086 extern (C) Handle WebGLRenderingContextBase_getBufferParameter(Handle, uint, uint);
1087 extern (C) Handle WebGLRenderingContextBase_getParameter(Handle, uint);
1088 extern (C) uint WebGLRenderingContextBase_getError(Handle);
1089 extern (C) Handle WebGLRenderingContextBase_getFramebufferAttachmentParameter(Handle, uint, uint, uint);
1090 extern (C) Handle WebGLRenderingContextBase_getProgramParameter(Handle, bool, Handle, uint);
1091 extern (C) Optional!(string) WebGLRenderingContextBase_getProgramInfoLog(Handle, bool, Handle);
1092 extern (C) Handle WebGLRenderingContextBase_getRenderbufferParameter(Handle, uint, uint);
1093 extern (C) Handle WebGLRenderingContextBase_getShaderParameter(Handle, bool, Handle, uint);
1094 extern (C) Optional!(WebGLShaderPrecisionFormat) WebGLRenderingContextBase_getShaderPrecisionFormat(Handle, uint, uint);
1095 extern (C) Optional!(string) WebGLRenderingContextBase_getShaderInfoLog(Handle, bool, Handle);
1096 extern (C) Optional!(string) WebGLRenderingContextBase_getShaderSource(Handle, bool, Handle);
1097 extern (C) Handle WebGLRenderingContextBase_getTexParameter(Handle, uint, uint);
1098 extern (C) Handle WebGLRenderingContextBase_getUniform(Handle, bool, Handle, bool, Handle);
1099 extern (C) Optional!(WebGLUniformLocation) WebGLRenderingContextBase_getUniformLocation(Handle, bool, Handle, string);
1100 extern (C) Handle WebGLRenderingContextBase_getVertexAttrib(Handle, uint, uint);
1101 extern (C) int WebGLRenderingContextBase_getVertexAttribOffset(Handle, uint, uint);
1102 extern (C) void WebGLRenderingContextBase_hint(Handle, uint, uint);
1103 extern (C) bool WebGLRenderingContextBase_isBuffer(Handle, bool, Handle);
1104 extern (C) bool WebGLRenderingContextBase_isEnabled(Handle, uint);
1105 extern (C) bool WebGLRenderingContextBase_isFramebuffer(Handle, bool, Handle);
1106 extern (C) bool WebGLRenderingContextBase_isProgram(Handle, bool, Handle);
1107 extern (C) bool WebGLRenderingContextBase_isRenderbuffer(Handle, bool, Handle);
1108 extern (C) bool WebGLRenderingContextBase_isShader(Handle, bool, Handle);
1109 extern (C) bool WebGLRenderingContextBase_isTexture(Handle, bool, Handle);
1110 extern (C) void WebGLRenderingContextBase_lineWidth(Handle, float);
1111 extern (C) void WebGLRenderingContextBase_linkProgram(Handle, bool, Handle);
1112 extern (C) void WebGLRenderingContextBase_pixelStorei(Handle, uint, int);
1113 extern (C) void WebGLRenderingContextBase_polygonOffset(Handle, float, float);
1114 extern (C) void WebGLRenderingContextBase_readPixels(Handle, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
1115 extern (C) void WebGLRenderingContextBase_renderbufferStorage(Handle, uint, uint, int, int);
1116 extern (C) void WebGLRenderingContextBase_sampleCoverage(Handle, float, bool);
1117 extern (C) void WebGLRenderingContextBase_scissor(Handle, int, int, int, int);
1118 extern (C) void WebGLRenderingContextBase_shaderSource(Handle, bool, Handle, string);
1119 extern (C) void WebGLRenderingContextBase_stencilFunc(Handle, uint, int, uint);
1120 extern (C) void WebGLRenderingContextBase_stencilFuncSeparate(Handle, uint, uint, int, uint);
1121 extern (C) void WebGLRenderingContextBase_stencilMask(Handle, uint);
1122 extern (C) void WebGLRenderingContextBase_stencilMaskSeparate(Handle, uint, uint);
1123 extern (C) void WebGLRenderingContextBase_stencilOp(Handle, uint, uint, uint);
1124 extern (C) void WebGLRenderingContextBase_stencilOpSeparate(Handle, uint, uint, uint, uint);
1125 extern (C) void WebGLRenderingContextBase_texImage2D__uint_int_uint_int_int_int_uint_uint_optional_ArrayBufferView(Handle, uint, int, uint, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
1126 extern (C) void WebGLRenderingContextBase_texImage2D__uint_int_uint_uint_uint_optional_TexImageSource(Handle, uint, int, uint, uint, uint, bool, scope ref TexImageSource);
1127 extern (C) void WebGLRenderingContextBase_texParameterf(Handle, uint, uint, float);
1128 extern (C) void WebGLRenderingContextBase_texParameteri(Handle, uint, uint, int);
1129 extern (C) void WebGLRenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_optional_ArrayBufferView(Handle, uint, int, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
1130 extern (C) void WebGLRenderingContextBase_texSubImage2D__uint_int_int_int_uint_uint_optional_TexImageSource(Handle, uint, int, int, int, uint, uint, bool, scope ref TexImageSource);
1131 extern (C) void WebGLRenderingContextBase_uniform1f(Handle, bool, Handle, float);
1132 extern (C) void WebGLRenderingContextBase_uniform1fv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1133 extern (C) void WebGLRenderingContextBase_uniform1fv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1134 extern (C) void WebGLRenderingContextBase_uniform1i(Handle, bool, Handle, int);
1135 extern (C) void WebGLRenderingContextBase_uniform1iv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1136 extern (C) void WebGLRenderingContextBase_uniform1iv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1137 extern (C) void WebGLRenderingContextBase_uniform2f(Handle, bool, Handle, float, float);
1138 extern (C) void WebGLRenderingContextBase_uniform2fv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1139 extern (C) void WebGLRenderingContextBase_uniform2fv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1140 extern (C) void WebGLRenderingContextBase_uniform2i(Handle, bool, Handle, int, int);
1141 extern (C) void WebGLRenderingContextBase_uniform2iv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1142 extern (C) void WebGLRenderingContextBase_uniform2iv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1143 extern (C) void WebGLRenderingContextBase_uniform3f(Handle, bool, Handle, float, float, float);
1144 extern (C) void WebGLRenderingContextBase_uniform3fv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1145 extern (C) void WebGLRenderingContextBase_uniform3fv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1146 extern (C) void WebGLRenderingContextBase_uniform3i(Handle, bool, Handle, int, int, int);
1147 extern (C) void WebGLRenderingContextBase_uniform3iv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1148 extern (C) void WebGLRenderingContextBase_uniform3iv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1149 extern (C) void WebGLRenderingContextBase_uniform4f(Handle, bool, Handle, float, float, float, float);
1150 extern (C) void WebGLRenderingContextBase_uniform4fv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1151 extern (C) void WebGLRenderingContextBase_uniform4fv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1152 extern (C) void WebGLRenderingContextBase_uniform4i(Handle, bool, Handle, int, int, int, int);
1153 extern (C) void WebGLRenderingContextBase_uniform4iv__optional_Handle_Handle(Handle, bool, Handle, Handle);
1154 extern (C) void WebGLRenderingContextBase_uniform4iv__optional_Handle_sequence(Handle, bool, Handle, Handle);
1155 extern (C) void WebGLRenderingContextBase_uniformMatrix2fv__optional_Handle_bool_Handle(Handle, bool, Handle, bool, Handle);
1156 extern (C) void WebGLRenderingContextBase_uniformMatrix2fv__optional_Handle_bool_sequence(Handle, bool, Handle, bool, Handle);
1157 extern (C) void WebGLRenderingContextBase_uniformMatrix3fv__optional_Handle_bool_Handle(Handle, bool, Handle, bool, Handle);
1158 extern (C) void WebGLRenderingContextBase_uniformMatrix3fv__optional_Handle_bool_sequence(Handle, bool, Handle, bool, Handle);
1159 extern (C) void WebGLRenderingContextBase_uniformMatrix4fv__optional_Handle_bool_Handle(Handle, bool, Handle, bool, Handle);
1160 extern (C) void WebGLRenderingContextBase_uniformMatrix4fv__optional_Handle_bool_sequence(Handle, bool, Handle, bool, Handle);
1161 extern (C) void WebGLRenderingContextBase_useProgram(Handle, bool, Handle);
1162 extern (C) void WebGLRenderingContextBase_validateProgram(Handle, bool, Handle);
1163 extern (C) void WebGLRenderingContextBase_vertexAttrib1f(Handle, uint, float);
1164 extern (C) void WebGLRenderingContextBase_vertexAttrib1fv__uint_Handle(Handle, uint, Handle);
1165 extern (C) void WebGLRenderingContextBase_vertexAttrib1fv__uint_sequence(Handle, uint, Handle);
1166 extern (C) void WebGLRenderingContextBase_vertexAttrib2f(Handle, uint, float, float);
1167 extern (C) void WebGLRenderingContextBase_vertexAttrib2fv__uint_Handle(Handle, uint, Handle);
1168 extern (C) void WebGLRenderingContextBase_vertexAttrib2fv__uint_sequence(Handle, uint, Handle);
1169 extern (C) void WebGLRenderingContextBase_vertexAttrib3f(Handle, uint, float, float, float);
1170 extern (C) void WebGLRenderingContextBase_vertexAttrib3fv__uint_Handle(Handle, uint, Handle);
1171 extern (C) void WebGLRenderingContextBase_vertexAttrib3fv__uint_sequence(Handle, uint, Handle);
1172 extern (C) void WebGLRenderingContextBase_vertexAttrib4f(Handle, uint, float, float, float, float);
1173 extern (C) void WebGLRenderingContextBase_vertexAttrib4fv__uint_Handle(Handle, uint, Handle);
1174 extern (C) void WebGLRenderingContextBase_vertexAttrib4fv__uint_sequence(Handle, uint, Handle);
1175 extern (C) void WebGLRenderingContextBase_vertexAttribPointer(Handle, uint, int, uint, bool, int, int);
1176 extern (C) void WebGLRenderingContextBase_viewport(Handle, int, int, int, int);
1177 extern (C) int WebGLShaderPrecisionFormat_rangeMin_Get(Handle);
1178 extern (C) int WebGLShaderPrecisionFormat_rangeMax_Get(Handle);
1179 extern (C) int WebGLShaderPrecisionFormat_precision_Get(Handle);