@gjsify/webgl 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +14 -0
  2. package/lib/cjs/@types/glsl-tokenizer/index.d.js +0 -0
  3. package/lib/cjs/extensions/ext-blend-minmax.js +37 -0
  4. package/lib/cjs/extensions/ext-texture-filter-anisotropic.js +37 -0
  5. package/lib/cjs/extensions/oes-element-index-unit.js +33 -0
  6. package/lib/cjs/extensions/oes-standard-derivatives.js +36 -0
  7. package/lib/cjs/extensions/oes-texture-float-linear.js +33 -0
  8. package/lib/cjs/extensions/oes-texture-float.js +33 -0
  9. package/lib/cjs/extensions/stackgl-destroy-context.js +31 -0
  10. package/lib/cjs/extensions/stackgl-resize-drawing-buffer.js +31 -0
  11. package/lib/cjs/html-canvas-element.js +89 -0
  12. package/lib/cjs/index.js +34 -0
  13. package/lib/cjs/index.spec.js +175 -0
  14. package/lib/cjs/linkable.js +69 -0
  15. package/lib/cjs/test.js +25 -0
  16. package/lib/cjs/types/constructor.js +15 -0
  17. package/lib/cjs/types/extension.js +15 -0
  18. package/lib/cjs/types/index.js +21 -0
  19. package/lib/cjs/types/typed-array.js +15 -0
  20. package/lib/cjs/types/webgl-constants.js +15 -0
  21. package/lib/cjs/types/webgl-context-attribute-options.js +15 -0
  22. package/lib/cjs/utils.js +241 -0
  23. package/lib/cjs/webgl-active-info.js +29 -0
  24. package/lib/cjs/webgl-buffer.js +37 -0
  25. package/lib/cjs/webgl-context-attributes.js +43 -0
  26. package/lib/cjs/webgl-drawing-buffer-wrapper.js +29 -0
  27. package/lib/cjs/webgl-framebuffer.js +128 -0
  28. package/lib/cjs/webgl-program.js +45 -0
  29. package/lib/cjs/webgl-renderbuffer.js +43 -0
  30. package/lib/cjs/webgl-rendering-context.js +3355 -0
  31. package/lib/cjs/webgl-shader-precision-format.js +30 -0
  32. package/lib/cjs/webgl-shader.js +42 -0
  33. package/lib/cjs/webgl-texture-unit.js +31 -0
  34. package/lib/cjs/webgl-texture.js +41 -0
  35. package/lib/cjs/webgl-uniform-location.js +34 -0
  36. package/lib/cjs/webgl-vertex-attribute.js +166 -0
  37. package/lib/esm/@types/glsl-tokenizer/index.d.js +0 -0
  38. package/lib/esm/extensions/ext-blend-minmax.js +18 -0
  39. package/lib/esm/extensions/ext-texture-filter-anisotropic.js +18 -0
  40. package/lib/esm/extensions/oes-element-index-unit.js +14 -0
  41. package/lib/esm/extensions/oes-standard-derivatives.js +17 -0
  42. package/lib/esm/extensions/oes-texture-float-linear.js +14 -0
  43. package/lib/esm/extensions/oes-texture-float.js +14 -0
  44. package/lib/esm/extensions/stackgl-destroy-context.js +12 -0
  45. package/lib/esm/extensions/stackgl-resize-drawing-buffer.js +12 -0
  46. package/lib/esm/html-canvas-element.js +70 -0
  47. package/lib/esm/index.js +18 -0
  48. package/lib/esm/index.spec.js +146 -0
  49. package/lib/esm/linkable.js +50 -0
  50. package/lib/esm/test.js +3 -0
  51. package/lib/esm/types/constructor.js +0 -0
  52. package/lib/esm/types/extension.js +0 -0
  53. package/lib/esm/types/index.js +5 -0
  54. package/lib/esm/types/typed-array.js +0 -0
  55. package/lib/esm/types/webgl-constants.js +0 -0
  56. package/lib/esm/types/webgl-context-attribute-options.js +0 -0
  57. package/lib/esm/utils.js +212 -0
  58. package/lib/esm/webgl-active-info.js +10 -0
  59. package/lib/esm/webgl-buffer.js +18 -0
  60. package/lib/esm/webgl-context-attributes.js +24 -0
  61. package/lib/esm/webgl-drawing-buffer-wrapper.js +10 -0
  62. package/lib/esm/webgl-framebuffer.js +109 -0
  63. package/lib/esm/webgl-program.js +26 -0
  64. package/lib/esm/webgl-renderbuffer.js +24 -0
  65. package/lib/esm/webgl-rendering-context.js +3343 -0
  66. package/lib/esm/webgl-shader-precision-format.js +11 -0
  67. package/lib/esm/webgl-shader.js +23 -0
  68. package/lib/esm/webgl-texture-unit.js +12 -0
  69. package/lib/esm/webgl-texture.js +22 -0
  70. package/lib/esm/webgl-uniform-location.js +15 -0
  71. package/lib/esm/webgl-vertex-attribute.js +147 -0
  72. package/lib/types/extensions/ext-blend-minmax.d.ts +7 -0
  73. package/lib/types/extensions/ext-texture-filter-anisotropic.d.ts +7 -0
  74. package/lib/types/extensions/oes-element-index-unit.d.ts +4 -0
  75. package/lib/types/extensions/oes-standard-derivatives.d.ts +6 -0
  76. package/lib/types/extensions/oes-texture-float-linear.d.ts +4 -0
  77. package/lib/types/extensions/oes-texture-float.d.ts +4 -0
  78. package/lib/types/extensions/stackgl-destroy-context.d.ts +6 -0
  79. package/lib/types/extensions/stackgl-resize-drawing-buffer.d.ts +6 -0
  80. package/lib/types/html-canvas-element.d.ts +38 -0
  81. package/lib/types/index.d.ts +18 -0
  82. package/lib/types/linkable.d.ts +13 -0
  83. package/lib/types/types/constructor.d.ts +3 -0
  84. package/lib/types/types/extension.d.ts +2 -0
  85. package/lib/types/types/index.d.ts +5 -0
  86. package/lib/types/types/typed-array.d.ts +1 -0
  87. package/lib/types/types/webgl-constants.d.ts +299 -0
  88. package/lib/types/types/webgl-context-attribute-options.d.ts +12 -0
  89. package/lib/types/utils.d.ts +32 -0
  90. package/lib/types/webgl-active-info.d.ts +7 -0
  91. package/lib/types/webgl-buffer.d.ts +10 -0
  92. package/lib/types/webgl-context-attributes.d.ts +14 -0
  93. package/lib/types/webgl-drawing-buffer-wrapper.d.ts +6 -0
  94. package/lib/types/webgl-framebuffer.d.ts +17 -0
  95. package/lib/types/webgl-program.d.ts +14 -0
  96. package/lib/types/webgl-renderbuffer.d.ts +12 -0
  97. package/lib/types/webgl-rendering-context.d.ts +260 -0
  98. package/lib/types/webgl-shader-precision-format.d.ts +7 -0
  99. package/lib/types/webgl-shader.d.ts +12 -0
  100. package/lib/types/webgl-texture-unit.d.ts +10 -0
  101. package/lib/types/webgl-texture.d.ts +14 -0
  102. package/lib/types/webgl-uniform-location.d.ts +18 -0
  103. package/lib/types/webgl-vertex-attribute.d.ts +38 -0
  104. package/meson.build +39 -0
  105. package/package.json +55 -0
  106. package/src/test/app.vala +60 -0
  107. package/src/ts/@types/glsl-tokenizer/index.d.ts +18 -0
  108. package/src/ts/extensions/angle-instanced-arrays.ts.off +232 -0
  109. package/src/ts/extensions/ext-blend-minmax.ts +18 -0
  110. package/src/ts/extensions/ext-texture-filter-anisotropic.ts +18 -0
  111. package/src/ts/extensions/oes-element-index-unit.ts +14 -0
  112. package/src/ts/extensions/oes-standard-derivatives.ts +17 -0
  113. package/src/ts/extensions/oes-texture-float-linear.ts +14 -0
  114. package/src/ts/extensions/oes-texture-float.ts +14 -0
  115. package/src/ts/extensions/oes-vertex-array-object.ts.off +128 -0
  116. package/src/ts/extensions/stackgl-destroy-context.ts +12 -0
  117. package/src/ts/extensions/stackgl-resize-drawing-buffer.ts +14 -0
  118. package/src/ts/extensions/webgl-draw-buffers.ts.off +107 -0
  119. package/src/ts/html-canvas-element.ts +98 -0
  120. package/src/ts/index.spec.ts +186 -0
  121. package/src/ts/index.ts +21 -0
  122. package/src/ts/linkable.ts +55 -0
  123. package/src/ts/test.ts +6 -0
  124. package/src/ts/types/constructor.ts +3 -0
  125. package/src/ts/types/extension.ts +3 -0
  126. package/src/ts/types/index.ts +26 -0
  127. package/src/ts/types/typed-array.ts +1 -0
  128. package/src/ts/types/webgl-constants.ts +300 -0
  129. package/src/ts/types/webgl-context-attribute-options.ts +12 -0
  130. package/src/ts/utils.ts +266 -0
  131. package/src/ts/webgl-active-info.ts +13 -0
  132. package/src/ts/webgl-buffer.ts +21 -0
  133. package/src/ts/webgl-context-attributes.ts +24 -0
  134. package/src/ts/webgl-drawing-buffer-wrapper.ts +10 -0
  135. package/src/ts/webgl-framebuffer.ts +133 -0
  136. package/src/ts/webgl-program.ts +30 -0
  137. package/src/ts/webgl-renderbuffer.ts +28 -0
  138. package/src/ts/webgl-rendering-context.ts +4050 -0
  139. package/src/ts/webgl-shader-precision-format.ts +12 -0
  140. package/src/ts/webgl-shader.ts +29 -0
  141. package/src/ts/webgl-texture-unit.ts +16 -0
  142. package/src/ts/webgl-texture.ts +27 -0
  143. package/src/ts/webgl-uniform-location.ts +18 -0
  144. package/src/ts/webgl-vertex-attribute.ts +169 -0
  145. package/src/vala/handle-types.vala +23 -0
  146. package/src/vala/webgl-rendering-context-base.vala +1265 -0
  147. package/src/vala/webgl-rendering-context.vala +265 -0
  148. package/src/vapi/epoxy.vapi +14558 -0
  149. package/src/vapi/glesv2.vapi +670 -0
  150. package/test.gjs.js +39972 -0
  151. package/test.gjs.js.meta.json +1 -0
  152. package/tmp/.tsbuildinfo +1 -0
  153. package/tsconfig.json +38 -0
  154. package/tsconfig.types.json +7 -0
@@ -0,0 +1,299 @@
1
+ export interface WebGLConstants {
2
+ readonly DEPTH_BUFFER_BIT: 0x00000100;
3
+ readonly STENCIL_BUFFER_BIT: 0x00000400;
4
+ readonly COLOR_BUFFER_BIT: 0x00004000;
5
+ readonly POINTS: 0x0000;
6
+ readonly LINES: 0x0001;
7
+ readonly LINE_LOOP: 0x0002;
8
+ readonly LINE_STRIP: 0x0003;
9
+ readonly TRIANGLES: 0x0004;
10
+ readonly TRIANGLE_STRIP: 0x0005;
11
+ readonly TRIANGLE_FAN: 0x0006;
12
+ readonly ZERO: 0;
13
+ readonly ONE: 1;
14
+ readonly SRC_COLOR: 0x0300;
15
+ readonly ONE_MINUS_SRC_COLOR: 0x0301;
16
+ readonly SRC_ALPHA: 0x0302;
17
+ readonly ONE_MINUS_SRC_ALPHA: 0x0303;
18
+ readonly DST_ALPHA: 0x0304;
19
+ readonly ONE_MINUS_DST_ALPHA: 0x0305;
20
+ readonly DST_COLOR: 0x0306;
21
+ readonly ONE_MINUS_DST_COLOR: 0x0307;
22
+ readonly SRC_ALPHA_SATURATE: 0x0308;
23
+ readonly FUNC_ADD: 0x8006;
24
+ readonly BLEND_EQUATION: 0x8009;
25
+ readonly BLEND_EQUATION_RGB: 0x8009;
26
+ readonly BLEND_EQUATION_ALPHA: 0x883D;
27
+ readonly FUNC_SUBTRACT: 0x800A;
28
+ readonly FUNC_REVERSE_SUBTRACT: 0x800B;
29
+ readonly BLEND_DST_RGB: 0x80C8;
30
+ readonly BLEND_SRC_RGB: 0x80C9;
31
+ readonly BLEND_DST_ALPHA: 0x80CA;
32
+ readonly BLEND_SRC_ALPHA: 0x80CB;
33
+ readonly CONSTANT_COLOR: 0x8001;
34
+ readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;
35
+ readonly CONSTANT_ALPHA: 0x8003;
36
+ readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;
37
+ readonly BLEND_COLOR: 0x8005;
38
+ readonly ARRAY_BUFFER: 0x8892;
39
+ readonly ELEMENT_ARRAY_BUFFER: 0x8893;
40
+ readonly ARRAY_BUFFER_BINDING: 0x8894;
41
+ readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;
42
+ readonly STREAM_DRAW: 0x88E0;
43
+ readonly STATIC_DRAW: 0x88E4;
44
+ readonly DYNAMIC_DRAW: 0x88E8;
45
+ readonly BUFFER_SIZE: 0x8764;
46
+ readonly BUFFER_USAGE: 0x8765;
47
+ readonly CURRENT_VERTEX_ATTRIB: 0x8626;
48
+ readonly FRONT: 0x0404;
49
+ readonly BACK: 0x0405;
50
+ readonly FRONT_AND_BACK: 0x0408;
51
+ readonly CULL_FACE: 0x0B44;
52
+ readonly BLEND: 0x0BE2;
53
+ readonly DITHER: 0x0BD0;
54
+ readonly STENCIL_TEST: 0x0B90;
55
+ readonly DEPTH_TEST: 0x0B71;
56
+ readonly SCISSOR_TEST: 0x0C11;
57
+ readonly POLYGON_OFFSET_FILL: 0x8037;
58
+ readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;
59
+ readonly SAMPLE_COVERAGE: 0x80A0;
60
+ readonly NO_ERROR: 0;
61
+ readonly INVALID_ENUM: 0x0500;
62
+ readonly INVALID_VALUE: 0x0501;
63
+ readonly INVALID_OPERATION: 0x0502;
64
+ readonly OUT_OF_MEMORY: 0x0505;
65
+ readonly CW: 0x0900;
66
+ readonly CCW: 0x0901;
67
+ readonly LINE_WIDTH: 0x0B21;
68
+ readonly ALIASED_POINT_SIZE_RANGE: 0x846D;
69
+ readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;
70
+ readonly CULL_FACE_MODE: 0x0B45;
71
+ readonly FRONT_FACE: 0x0B46;
72
+ readonly DEPTH_RANGE: 0x0B70;
73
+ readonly DEPTH_WRITEMASK: 0x0B72;
74
+ readonly DEPTH_CLEAR_VALUE: 0x0B73;
75
+ readonly DEPTH_FUNC: 0x0B74;
76
+ readonly STENCIL_CLEAR_VALUE: 0x0B91;
77
+ readonly STENCIL_FUNC: 0x0B92;
78
+ readonly STENCIL_FAIL: 0x0B94;
79
+ readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;
80
+ readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;
81
+ readonly STENCIL_REF: 0x0B97;
82
+ readonly STENCIL_VALUE_MASK: 0x0B93;
83
+ readonly STENCIL_WRITEMASK: 0x0B98;
84
+ readonly STENCIL_BACK_FUNC: 0x8800;
85
+ readonly STENCIL_BACK_FAIL: 0x8801;
86
+ readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;
87
+ readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;
88
+ readonly STENCIL_BACK_REF: 0x8CA3;
89
+ readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;
90
+ readonly STENCIL_BACK_WRITEMASK: 0x8CA5;
91
+ readonly VIEWPORT: 0x0BA2;
92
+ readonly SCISSOR_BOX: 0x0C10;
93
+ readonly COLOR_CLEAR_VALUE: 0x0C22;
94
+ readonly COLOR_WRITEMASK: 0x0C23;
95
+ readonly UNPACK_ALIGNMENT: 0x0CF5;
96
+ readonly PACK_ALIGNMENT: 0x0D05;
97
+ readonly MAX_TEXTURE_SIZE: 0x0D33;
98
+ readonly MAX_VIEWPORT_DIMS: 0x0D3A;
99
+ readonly SUBPIXEL_BITS: 0x0D50;
100
+ readonly RED_BITS: 0x0D52;
101
+ readonly GREEN_BITS: 0x0D53;
102
+ readonly BLUE_BITS: 0x0D54;
103
+ readonly ALPHA_BITS: 0x0D55;
104
+ readonly DEPTH_BITS: 0x0D56;
105
+ readonly STENCIL_BITS: 0x0D57;
106
+ readonly POLYGON_OFFSET_UNITS: 0x2A00;
107
+ readonly POLYGON_OFFSET_FACTOR: 0x8038;
108
+ readonly TEXTURE_BINDING_2D: 0x8069;
109
+ readonly SAMPLE_BUFFERS: 0x80A8;
110
+ readonly SAMPLES: 0x80A9;
111
+ readonly SAMPLE_COVERAGE_VALUE: 0x80AA;
112
+ readonly SAMPLE_COVERAGE_INVERT: 0x80AB;
113
+ readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;
114
+ readonly DONT_CARE: 0x1100;
115
+ readonly FASTEST: 0x1101;
116
+ readonly NICEST: 0x1102;
117
+ readonly GENERATE_MIPMAP_HINT: 0x8192;
118
+ readonly BYTE: 0x1400;
119
+ readonly UNSIGNED_BYTE: 0x1401;
120
+ readonly SHORT: 0x1402;
121
+ readonly UNSIGNED_SHORT: 0x1403;
122
+ readonly INT: 0x1404;
123
+ readonly UNSIGNED_INT: 0x1405;
124
+ readonly FLOAT: 0x1406;
125
+ readonly DEPTH_COMPONENT: 0x1902;
126
+ readonly ALPHA: 0x1906;
127
+ readonly RGB: 0x1907;
128
+ readonly RGBA: 0x1908;
129
+ readonly LUMINANCE: 0x1909;
130
+ readonly LUMINANCE_ALPHA: 0x190A;
131
+ readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;
132
+ readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;
133
+ readonly UNSIGNED_SHORT_5_6_5: 0x8363;
134
+ readonly FRAGMENT_SHADER: 0x8B30;
135
+ readonly VERTEX_SHADER: 0x8B31;
136
+ readonly MAX_VERTEX_ATTRIBS: 0x8869;
137
+ readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;
138
+ readonly MAX_VARYING_VECTORS: 0x8DFC;
139
+ readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;
140
+ readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;
141
+ readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;
142
+ readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;
143
+ readonly SHADER_TYPE: 0x8B4F;
144
+ readonly DELETE_STATUS: 0x8B80;
145
+ readonly LINK_STATUS: 0x8B82;
146
+ readonly VALIDATE_STATUS: 0x8B83;
147
+ readonly ATTACHED_SHADERS: 0x8B85;
148
+ readonly ACTIVE_UNIFORMS: 0x8B86;
149
+ readonly ACTIVE_ATTRIBUTES: 0x8B89;
150
+ readonly SHADING_LANGUAGE_VERSION: 0x8B8C;
151
+ readonly CURRENT_PROGRAM: 0x8B8D;
152
+ readonly NEVER: 0x0200;
153
+ readonly LESS: 0x0201;
154
+ readonly EQUAL: 0x0202;
155
+ readonly LEQUAL: 0x0203;
156
+ readonly GREATER: 0x0204;
157
+ readonly NOTEQUAL: 0x0205;
158
+ readonly GEQUAL: 0x0206;
159
+ readonly ALWAYS: 0x0207;
160
+ readonly KEEP: 0x1E00;
161
+ readonly REPLACE: 0x1E01;
162
+ readonly INCR: 0x1E02;
163
+ readonly DECR: 0x1E03;
164
+ readonly INVERT: 0x150A;
165
+ readonly INCR_WRAP: 0x8507;
166
+ readonly DECR_WRAP: 0x8508;
167
+ readonly VENDOR: 0x1F00;
168
+ readonly RENDERER: 0x1F01;
169
+ readonly VERSION: 0x1F02;
170
+ readonly NEAREST: 0x2600;
171
+ readonly LINEAR: 0x2601;
172
+ readonly NEAREST_MIPMAP_NEAREST: 0x2700;
173
+ readonly LINEAR_MIPMAP_NEAREST: 0x2701;
174
+ readonly NEAREST_MIPMAP_LINEAR: 0x2702;
175
+ readonly LINEAR_MIPMAP_LINEAR: 0x2703;
176
+ readonly TEXTURE_MAG_FILTER: 0x2800;
177
+ readonly TEXTURE_MIN_FILTER: 0x2801;
178
+ readonly TEXTURE_WRAP_S: 0x2802;
179
+ readonly TEXTURE_WRAP_T: 0x2803;
180
+ readonly TEXTURE_2D: 0x0DE1;
181
+ readonly TEXTURE: 0x1702;
182
+ readonly TEXTURE_CUBE_MAP: 0x8513;
183
+ readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;
184
+ readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;
185
+ readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;
186
+ readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;
187
+ readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;
188
+ readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;
189
+ readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;
190
+ readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;
191
+ readonly TEXTURE0: 0x84C0;
192
+ readonly TEXTURE1: 0x84C1;
193
+ readonly TEXTURE2: 0x84C2;
194
+ readonly TEXTURE3: 0x84C3;
195
+ readonly TEXTURE4: 0x84C4;
196
+ readonly TEXTURE5: 0x84C5;
197
+ readonly TEXTURE6: 0x84C6;
198
+ readonly TEXTURE7: 0x84C7;
199
+ readonly TEXTURE8: 0x84C8;
200
+ readonly TEXTURE9: 0x84C9;
201
+ readonly TEXTURE10: 0x84CA;
202
+ readonly TEXTURE11: 0x84CB;
203
+ readonly TEXTURE12: 0x84CC;
204
+ readonly TEXTURE13: 0x84CD;
205
+ readonly TEXTURE14: 0x84CE;
206
+ readonly TEXTURE15: 0x84CF;
207
+ readonly TEXTURE16: 0x84D0;
208
+ readonly TEXTURE17: 0x84D1;
209
+ readonly TEXTURE18: 0x84D2;
210
+ readonly TEXTURE19: 0x84D3;
211
+ readonly TEXTURE20: 0x84D4;
212
+ readonly TEXTURE21: 0x84D5;
213
+ readonly TEXTURE22: 0x84D6;
214
+ readonly TEXTURE23: 0x84D7;
215
+ readonly TEXTURE24: 0x84D8;
216
+ readonly TEXTURE25: 0x84D9;
217
+ readonly TEXTURE26: 0x84DA;
218
+ readonly TEXTURE27: 0x84DB;
219
+ readonly TEXTURE28: 0x84DC;
220
+ readonly TEXTURE29: 0x84DD;
221
+ readonly TEXTURE30: 0x84DE;
222
+ readonly TEXTURE31: 0x84DF;
223
+ readonly ACTIVE_TEXTURE: 0x84E0;
224
+ readonly REPEAT: 0x2901;
225
+ readonly CLAMP_TO_EDGE: 0x812F;
226
+ readonly MIRRORED_REPEAT: 0x8370;
227
+ readonly FLOAT_VEC2: 0x8B50;
228
+ readonly FLOAT_VEC3: 0x8B51;
229
+ readonly FLOAT_VEC4: 0x8B52;
230
+ readonly INT_VEC2: 0x8B53;
231
+ readonly INT_VEC3: 0x8B54;
232
+ readonly INT_VEC4: 0x8B55;
233
+ readonly BOOL: 0x8B56;
234
+ readonly BOOL_VEC2: 0x8B57;
235
+ readonly BOOL_VEC3: 0x8B58;
236
+ readonly BOOL_VEC4: 0x8B59;
237
+ readonly FLOAT_MAT2: 0x8B5A;
238
+ readonly FLOAT_MAT3: 0x8B5B;
239
+ readonly FLOAT_MAT4: 0x8B5C;
240
+ readonly SAMPLER_2D: 0x8B5E;
241
+ readonly SAMPLER_CUBE: 0x8B60;
242
+ readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;
243
+ readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;
244
+ readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;
245
+ readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;
246
+ readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;
247
+ readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;
248
+ readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;
249
+ readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;
250
+ readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;
251
+ readonly COMPILE_STATUS: 0x8B81;
252
+ readonly LOW_FLOAT: 0x8DF0;
253
+ readonly MEDIUM_FLOAT: 0x8DF1;
254
+ readonly HIGH_FLOAT: 0x8DF2;
255
+ readonly LOW_INT: 0x8DF3;
256
+ readonly MEDIUM_INT: 0x8DF4;
257
+ readonly HIGH_INT: 0x8DF5;
258
+ readonly FRAMEBUFFER: 0x8D40;
259
+ readonly RENDERBUFFER: 0x8D41;
260
+ readonly RGBA4: 0x8056;
261
+ readonly RGB5_A1: 0x8057;
262
+ readonly RGB565: 0x8D62;
263
+ readonly DEPTH_COMPONENT16: 0x81A5;
264
+ readonly STENCIL_INDEX8: 0x8D48;
265
+ readonly DEPTH_STENCIL: 0x84F9;
266
+ readonly RENDERBUFFER_WIDTH: 0x8D42;
267
+ readonly RENDERBUFFER_HEIGHT: 0x8D43;
268
+ readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;
269
+ readonly RENDERBUFFER_RED_SIZE: 0x8D50;
270
+ readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;
271
+ readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;
272
+ readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;
273
+ readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;
274
+ readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;
275
+ readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;
276
+ readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;
277
+ readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;
278
+ readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;
279
+ readonly COLOR_ATTACHMENT0: 0x8CE0;
280
+ readonly DEPTH_ATTACHMENT: 0x8D00;
281
+ readonly STENCIL_ATTACHMENT: 0x8D20;
282
+ readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;
283
+ readonly NONE: 0;
284
+ readonly FRAMEBUFFER_COMPLETE: 0x8CD5;
285
+ readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;
286
+ readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;
287
+ readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;
288
+ readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;
289
+ readonly FRAMEBUFFER_BINDING: 0x8CA6;
290
+ readonly RENDERBUFFER_BINDING: 0x8CA7;
291
+ readonly MAX_RENDERBUFFER_SIZE: 0x84E8;
292
+ readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;
293
+ readonly UNPACK_FLIP_Y_WEBGL: 0x9240;
294
+ readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;
295
+ readonly CONTEXT_LOST_WEBGL: 0x9242;
296
+ readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;
297
+ readonly BROWSER_DEFAULT_WEBGL: 0x9244;
298
+ readonly STENCIL_INDEX: GLenum;
299
+ }
@@ -0,0 +1,12 @@
1
+ export interface WebGLContextAttributeOptions {
2
+ alpha?: boolean;
3
+ depth?: boolean;
4
+ stencil?: boolean;
5
+ antialias?: boolean;
6
+ premultipliedAlpha?: boolean;
7
+ preserveDrawingBuffer?: boolean;
8
+ preferLowPowerToHighPerformance?: boolean;
9
+ failIfMajorPerformanceCaveat?: boolean;
10
+ desynchronized?: boolean;
11
+ powerPreference?: WebGLPowerPreference;
12
+ }
@@ -0,0 +1,32 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { WebGLUniformLocation } from './webgl-uniform-location.js';
3
+ import { WebGLProgram } from './webgl-program.js';
4
+ import GLib from '@girs/glib-2.0';
5
+ import { HTMLImageElement as GjsifyHTMLImageElement } from "@gjsify/html-image-element";
6
+ import type Gwebgl from '@girs/gwebgl-0.1';
7
+ import type { GjsifyWebGLRenderingContext } from './webgl-rendering-context.js';
8
+ import type { TypedArray } from './types/index.js';
9
+ export declare function bindPublics(props: Array<keyof GjsifyWebGLRenderingContext>, wrapper: GjsifyWebGLRenderingContext, privateInstance: GjsifyWebGLRenderingContext, privateMethods: string[]): void;
10
+ export declare function checkObject(object: any): boolean;
11
+ export declare function checkUniform(program: WebGLProgram, location: WebGLUniformLocation): boolean;
12
+ export declare function isTypedArray(data: TypedArray): boolean;
13
+ export declare function isValidString(str: string): boolean;
14
+ export declare function vertexCount(gl: GjsifyWebGLRenderingContext, primitive: GLenum, count: number): number;
15
+ export declare function typeSize(gl: GjsifyWebGLRenderingContext, type: GLenum): 0 | 1 | 2 | 4;
16
+ export declare function uniformTypeSize(gl: GjsifyWebGLRenderingContext, type: GLenum): 0 | 1 | 2 | 3 | 4;
17
+ export declare const listToArray: (values: Float32List) => number[];
18
+ export declare function arrayToUint8Array(array: TypedArray | Float32List | Array<number> | ArrayBuffer | DataView): Uint8Array;
19
+ export declare function Uint8ArrayToVariant(array: Uint8Array | null): GLib.Variant;
20
+ /**
21
+ * Converts an ArrayBufferView to an array of bools. gjs returns
22
+ * Uint8Array, but the elements are actually 4 bytes each.
23
+ * @param array
24
+ * @returns
25
+ */
26
+ export declare function boolArray(array: ArrayBufferView): boolean[];
27
+ export declare const extractImageData: (pixels: TexImageSource | GjsifyHTMLImageElement) => ImageData | null;
28
+ export declare function formatSize(gl: GjsifyWebGLRenderingContext, internalFormat: number): 0 | 1 | 2 | 3 | 4;
29
+ export declare function convertPixels(pixels: ArrayBuffer | Uint8Array | Uint16Array | Uint8ClampedArray | Float32Array | Buffer | ArrayBufferView | null): Uint8Array;
30
+ export declare function checkFormat(gl: GjsifyWebGLRenderingContext, format: GLenum): boolean;
31
+ export declare function validCubeTarget(gl: GjsifyWebGLRenderingContext, target: GLenum): boolean;
32
+ export declare function flag<T = Gwebgl.WebGLRenderingContext.ConstructorProperties>(options: T, name: keyof T, dflt: boolean): boolean;
@@ -0,0 +1,7 @@
1
+ declare class GjsifyWebGLActiveInfo implements WebGLActiveInfo {
2
+ size: GLsizei;
3
+ type: GLenum;
4
+ name: string;
5
+ constructor(_: WebGLActiveInfo);
6
+ }
7
+ export { GjsifyWebGLActiveInfo as WebGLActiveInfo };
@@ -0,0 +1,10 @@
1
+ import { Linkable } from './linkable.js';
2
+ import type { GjsifyWebGLRenderingContext } from './webgl-rendering-context.js';
3
+ export declare class GjsifyWebGLBuffer extends Linkable implements WebGLBuffer {
4
+ _ctx: GjsifyWebGLRenderingContext;
5
+ _size: number;
6
+ _elements: Uint8Array;
7
+ constructor(_: WebGLBuffer & number, ctx: GjsifyWebGLRenderingContext);
8
+ _performDelete(): void;
9
+ }
10
+ export { GjsifyWebGLBuffer as WebGLBuffer };
@@ -0,0 +1,14 @@
1
+ export declare class GjsifyWebGLContextAttributes implements WebGLContextAttributes {
2
+ alpha?: boolean;
3
+ depth?: boolean;
4
+ stencil?: boolean;
5
+ antialias?: boolean;
6
+ premultipliedAlpha?: boolean;
7
+ preserveDrawingBuffer?: boolean;
8
+ preferLowPowerToHighPerformance?: boolean;
9
+ failIfMajorPerformanceCaveat?: boolean;
10
+ desynchronized?: boolean;
11
+ powerPreference?: WebGLPowerPreference;
12
+ constructor(alpha?: boolean, depth?: boolean, stencil?: boolean, antialias?: boolean, premultipliedAlpha?: boolean, preserveDrawingBuffer?: boolean, preferLowPowerToHighPerformance?: boolean, failIfMajorPerformanceCaveat?: boolean);
13
+ }
14
+ export { GjsifyWebGLContextAttributes as WebGLContextAttributes };
@@ -0,0 +1,6 @@
1
+ export declare class WebGLDrawingBufferWrapper {
2
+ _framebuffer: WebGLFramebuffer & number;
3
+ _color: WebGLTexture & number;
4
+ _depthStencil: WebGLRenderbuffer & number;
5
+ constructor(framebuffer: WebGLFramebuffer & number, color: WebGLTexture & number, depthStencil: WebGLRenderbuffer & number);
6
+ }
@@ -0,0 +1,17 @@
1
+ import { Linkable } from './linkable.js';
2
+ import type { GjsifyWebGLRenderingContext } from './webgl-rendering-context.js';
3
+ export declare class GjsifyWebGLFramebuffer extends Linkable implements WebGLFramebuffer {
4
+ _ctx: GjsifyWebGLRenderingContext;
5
+ _binding: number;
6
+ _width: number;
7
+ _height: number;
8
+ _status: number | null;
9
+ _attachments: Record<GLenum, WebGLTexture | WebGLRenderbuffer | null>;
10
+ _attachmentLevel: Record<GLenum, number | null>;
11
+ _attachmentFace: Record<GLenum, number | null>;
12
+ constructor(_: WebGLFramebuffer & number, ctx: GjsifyWebGLRenderingContext);
13
+ _clearAttachment(attachment: GLenum): void;
14
+ _setAttachment(object: WebGLTexture | WebGLRenderbuffer | null, attachment: GLenum): void;
15
+ _performDelete(): void;
16
+ }
17
+ export { GjsifyWebGLFramebuffer as WebGLFramebuffer };
@@ -0,0 +1,14 @@
1
+ import { Linkable } from './linkable.js';
2
+ import { WebGLActiveInfo } from './webgl-active-info.js';
3
+ import type { GjsifyWebGLRenderingContext } from './webgl-rendering-context.js';
4
+ export declare class GjsifyWebGLProgram extends Linkable implements WebGLProgram {
5
+ _ctx: GjsifyWebGLRenderingContext;
6
+ _linkCount: number;
7
+ _linkStatus: boolean;
8
+ _linkInfoLog: string | null;
9
+ _attributes: number[];
10
+ _uniforms: WebGLActiveInfo[];
11
+ constructor(_: WebGLProgram & number, ctx: GjsifyWebGLRenderingContext);
12
+ _performDelete(): void;
13
+ }
14
+ export { GjsifyWebGLProgram as WebGLProgram };
@@ -0,0 +1,12 @@
1
+ import { Linkable } from './linkable.js';
2
+ import type { GjsifyWebGLRenderingContext } from './webgl-rendering-context.js';
3
+ export declare class GjsifyWebGLRenderbuffer extends Linkable implements WebGLRenderbuffer {
4
+ _ctx: GjsifyWebGLRenderingContext;
5
+ _binding: number;
6
+ _width: number;
7
+ _height: number;
8
+ _format: number;
9
+ constructor(_: WebGLRenderbuffer & number, ctx: GjsifyWebGLRenderingContext);
10
+ _performDelete(): void;
11
+ }
12
+ export { GjsifyWebGLRenderbuffer as WebGLRenderbuffer };