@luma.gl/webgl 9.1.0-alpha.2 → 9.1.0-alpha.9

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 (74) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +18 -11
  3. package/dist/adapter/converters/texture-formats.d.ts +1 -1
  4. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  5. package/dist/adapter/converters/texture-formats.js +9 -16
  6. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  7. package/dist/adapter/device-helpers/webgl-device-features.js +0 -1
  8. package/dist/adapter/helpers/webgl-texture-utils.d.ts +4 -4
  9. package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
  10. package/dist/adapter/helpers/webgl-texture-utils.js +11 -9
  11. package/dist/adapter/resources/webgl-framebuffer.js +1 -1
  12. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  13. package/dist/adapter/resources/webgl-render-pass.js +17 -4
  14. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  15. package/dist/adapter/resources/webgl-render-pipeline.js +1 -1
  16. package/dist/adapter/resources/webgl-shader.js +1 -1
  17. package/dist/adapter/resources/webgl-texture.d.ts +2 -2
  18. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  19. package/dist/adapter/resources/webgl-texture.js +12 -27
  20. package/dist/adapter/webgl-adapter.d.ts +21 -0
  21. package/dist/adapter/webgl-adapter.d.ts.map +1 -0
  22. package/dist/adapter/webgl-adapter.js +91 -0
  23. package/dist/adapter/webgl-device.d.ts +15 -27
  24. package/dist/adapter/webgl-device.d.ts.map +1 -1
  25. package/dist/adapter/webgl-device.js +32 -112
  26. package/dist/classic/copy-and-blit.d.ts +1 -0
  27. package/dist/classic/copy-and-blit.d.ts.map +1 -1
  28. package/dist/classic/copy-and-blit.js +11 -10
  29. package/dist/context/debug/spector-types.d.ts +1108 -0
  30. package/dist/context/debug/spector-types.d.ts.map +1 -0
  31. package/dist/context/debug/spector-types.js +697 -0
  32. package/dist/context/debug/spector.d.ts +12 -8
  33. package/dist/context/debug/spector.d.ts.map +1 -1
  34. package/dist/context/debug/spector.js +23 -17
  35. package/dist/context/polyfills/polyfill-webgl1-extensions.d.ts +9 -0
  36. package/dist/context/polyfills/polyfill-webgl1-extensions.d.ts.map +1 -0
  37. package/dist/context/polyfills/polyfill-webgl1-extensions.js +181 -0
  38. package/dist/context/state-tracker/webgl-state-tracker.d.ts +43 -0
  39. package/dist/context/state-tracker/webgl-state-tracker.d.ts.map +1 -0
  40. package/dist/context/state-tracker/{track-context-state.js → webgl-state-tracker.js} +44 -74
  41. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  42. package/dist/context/state-tracker/with-parameters.js +5 -4
  43. package/dist/dist.dev.js +339 -233
  44. package/dist/dist.min.js +2 -2
  45. package/dist/index.cjs +342 -235
  46. package/dist/index.cjs.map +4 -4
  47. package/dist/index.d.ts +3 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -2
  50. package/dist/utils/uid.d.ts +7 -0
  51. package/dist/utils/uid.d.ts.map +1 -0
  52. package/dist/utils/uid.js +14 -0
  53. package/package.json +3 -3
  54. package/src/adapter/converters/device-parameters.ts +18 -12
  55. package/src/adapter/converters/texture-formats.ts +12 -20
  56. package/src/adapter/device-helpers/webgl-device-features.ts +0 -1
  57. package/src/adapter/helpers/webgl-texture-utils.ts +12 -9
  58. package/src/adapter/resources/webgl-framebuffer.ts +1 -1
  59. package/src/adapter/resources/webgl-render-pass.ts +17 -4
  60. package/src/adapter/resources/webgl-render-pipeline.ts +2 -1
  61. package/src/adapter/resources/webgl-shader.ts +1 -1
  62. package/src/adapter/resources/webgl-texture.ts +17 -27
  63. package/src/adapter/webgl-adapter.ts +113 -0
  64. package/src/adapter/webgl-device.ts +32 -135
  65. package/src/classic/copy-and-blit.ts +14 -9
  66. package/src/context/debug/spector-types.ts +1154 -0
  67. package/src/context/debug/spector.ts +38 -29
  68. package/src/context/polyfills/polyfill-webgl1-extensions.ts +202 -0
  69. package/src/context/state-tracker/{track-context-state.ts → webgl-state-tracker.ts} +55 -94
  70. package/src/context/state-tracker/with-parameters.ts +5 -4
  71. package/src/index.ts +5 -7
  72. package/src/utils/uid.ts +16 -0
  73. package/dist/context/state-tracker/track-context-state.d.ts +0 -22
  74. package/dist/context/state-tracker/track-context-state.d.ts.map +0 -1
@@ -0,0 +1,1154 @@
1
+ // Forked from https://github.com/BabylonJS/Spector.js/blob/master/dist/spector.d.ts
2
+ /* eslint-disable camelcase */
3
+
4
+ interface IEvent<T> {
5
+ add(callback: (element: T) => void, context?: any): number;
6
+ remove(id: number): void;
7
+ clear(): void;
8
+ trigger(value: T): void;
9
+ }
10
+ type EventConstructor = {
11
+ new <T>(): IEvent<T>;
12
+ };
13
+ enum LogLevel {
14
+ noLog = 0,
15
+ error = 1,
16
+ warning = 2,
17
+ info = 3
18
+ }
19
+ interface ILogger {
20
+ setLevel(level: LogLevel): void;
21
+ error(msg: string, ...restOfMsg: string[]): void;
22
+ warn(msg: string, ...restOfMsg: string[]): void;
23
+ info(msg: string, ...restOfMsg: string[]): void;
24
+ }
25
+ type LoggerConstructor = {
26
+ // new (level?: LogLevel): Utils.ConsoleLogger;
27
+ };
28
+ interface IStackTrace {
29
+ getStackTrace(removeFirstNCalls?: number, removeLastNCalls?: number): string[];
30
+ }
31
+ type StackTraceConstructor = {
32
+ new (): IStackTrace;
33
+ };
34
+ interface ITime {
35
+ readonly now: number;
36
+ }
37
+ type TimeConstructor = {
38
+ new (): ITime;
39
+ };
40
+ interface ICanvasCapture {
41
+ width: number;
42
+ height: number;
43
+ clientWidth: number;
44
+ clientHeight: number;
45
+ browserAgent: string;
46
+ }
47
+ interface IContextCapture {
48
+ version: number;
49
+ contextAttributes: any;
50
+ capabilities: {
51
+ [name: string]: any;
52
+ };
53
+ extensions: {
54
+ [name: string]: boolean;
55
+ };
56
+ compressedTextures: {
57
+ [name: string]: any;
58
+ };
59
+ }
60
+ type State = {
61
+ [stateName: string]: any;
62
+ };
63
+ type CommandCapturedCallback = (command: ICommandCapture) => void;
64
+ type CommandCapturedCallbacks = {
65
+ [name: string]: CommandCapturedCallback[];
66
+ };
67
+ const enum CommandCaptureStatus {
68
+ Unknown = 0,
69
+ Unused = 10,
70
+ Disabled = 20,
71
+ Redundant = 30,
72
+ Valid = 40,
73
+ Deprecated = 50
74
+ }
75
+ interface ICommandCapture extends State {
76
+ id: number;
77
+ startTime: number;
78
+ commandEndTime: number;
79
+ endTime: number;
80
+ name: string;
81
+ commandArguments: IArguments;
82
+ result: any;
83
+ stackTrace: string[];
84
+ status: CommandCaptureStatus;
85
+ text: string;
86
+ marker: string;
87
+ consumeCommandId?: number;
88
+ [stateName: string]: any;
89
+ }
90
+ interface IAnalysis {
91
+ analyserName: string;
92
+ [key: string]: any;
93
+ }
94
+ interface ICapture {
95
+ canvas: ICanvasCapture;
96
+ context: IContextCapture;
97
+ initState: State;
98
+ commands: ICommandCapture[];
99
+ endState: State;
100
+ startTime: number;
101
+ listenCommandsStartTime: number;
102
+ listenCommandsEndTime: number;
103
+ endTime: number;
104
+ analyses: IAnalysis[];
105
+ frameMemory: {
106
+ [objectName: string]: number;
107
+ };
108
+ memory: {
109
+ [objectName: string]: {
110
+ [second: number]: number;
111
+ };
112
+ };
113
+ }
114
+ enum CaptureComparisonStatus {
115
+ Equal = 0,
116
+ Different = 1,
117
+ OnlyInA = 2,
118
+ OnlyInB = 3
119
+ }
120
+ type PropertyComparisonResult = {
121
+ name: string;
122
+ status: CaptureComparisonStatus;
123
+ valueA: any;
124
+ valueB: any;
125
+ };
126
+ type GroupComparisonResult = {
127
+ name: string;
128
+ groups: GroupComparisonResult[];
129
+ properties: PropertyComparisonResult[];
130
+ status: CaptureComparisonStatus;
131
+ };
132
+ interface ICommandCaptureComparison {
133
+ groups: GroupComparisonResult[];
134
+ properties: PropertyComparisonResult[];
135
+ }
136
+ type FunctionIndexer = {
137
+ [key: string]: any;
138
+ };
139
+ interface IFunctionInformation {
140
+ readonly name: string;
141
+ readonly arguments: IArguments;
142
+ readonly result: any;
143
+ readonly startTime: number;
144
+ readonly endTime: number;
145
+ }
146
+ type WebGLRenderingContexts = WebGLRenderingContext | WebGL2RenderingContext;
147
+ type ExtensionList = {
148
+ [key: string]: any;
149
+ };
150
+ interface IContextInformation {
151
+ readonly context: WebGLRenderingContexts;
152
+ readonly contextVersion: number;
153
+ readonly toggleCapture?: (capture: boolean) => void;
154
+ readonly tagWebGlObject?: (object: any) => WebGlObjectTag;
155
+ readonly extensions?: ExtensionList;
156
+ }
157
+ interface WebGlConstant {
158
+ readonly name: string;
159
+ readonly value: number;
160
+ readonly description: string;
161
+ readonly extensionName?: string;
162
+ }
163
+ export class WebGlConstants {
164
+ static readonly DEPTH_BUFFER_BIT: WebGlConstant;
165
+ static readonly STENCIL_BUFFER_BIT: WebGlConstant;
166
+ static readonly COLOR_BUFFER_BIT: WebGlConstant;
167
+ static readonly POINTS: WebGlConstant;
168
+ static readonly LINES: WebGlConstant;
169
+ static readonly LINE_LOOP: WebGlConstant;
170
+ static readonly LINE_STRIP: WebGlConstant;
171
+ static readonly TRIANGLES: WebGlConstant;
172
+ static readonly TRIANGLE_STRIP: WebGlConstant;
173
+ static readonly TRIANGLE_FAN: WebGlConstant;
174
+ static readonly ZERO: WebGlConstant;
175
+ static readonly ONE: WebGlConstant;
176
+ static readonly SRC_COLOR: WebGlConstant;
177
+ static readonly ONE_MINUS_SRC_COLOR: WebGlConstant;
178
+ static readonly SRC_ALPHA: WebGlConstant;
179
+ static readonly ONE_MINUS_SRC_ALPHA: WebGlConstant;
180
+ static readonly DST_ALPHA: WebGlConstant;
181
+ static readonly ONE_MINUS_DST_ALPHA: WebGlConstant;
182
+ static readonly DST_COLOR: WebGlConstant;
183
+ static readonly ONE_MINUS_DST_COLOR: WebGlConstant;
184
+ static readonly SRC_ALPHA_SATURATE: WebGlConstant;
185
+ static readonly CONSTANT_COLOR: WebGlConstant;
186
+ static readonly ONE_MINUS_CONSTANT_COLOR: WebGlConstant;
187
+ static readonly CONSTANT_ALPHA: WebGlConstant;
188
+ static readonly ONE_MINUS_CONSTANT_ALPHA: WebGlConstant;
189
+ static readonly FUNC_ADD: WebGlConstant;
190
+ static readonly FUNC_SUBSTRACT: WebGlConstant;
191
+ static readonly FUNC_REVERSE_SUBTRACT: WebGlConstant;
192
+ static readonly BLEND_EQUATION: WebGlConstant;
193
+ static readonly BLEND_EQUATION_RGB: WebGlConstant;
194
+ static readonly BLEND_EQUATION_ALPHA: WebGlConstant;
195
+ static readonly BLEND_DST_RGB: WebGlConstant;
196
+ static readonly BLEND_SRC_RGB: WebGlConstant;
197
+ static readonly BLEND_DST_ALPHA: WebGlConstant;
198
+ static readonly BLEND_SRC_ALPHA: WebGlConstant;
199
+ static readonly BLEND_COLOR: WebGlConstant;
200
+ static readonly ARRAY_BUFFER_BINDING: WebGlConstant;
201
+ static readonly ELEMENT_ARRAY_BUFFER_BINDING: WebGlConstant;
202
+ static readonly LINE_WIDTH: WebGlConstant;
203
+ static readonly ALIASED_POINT_SIZE_RANGE: WebGlConstant;
204
+ static readonly ALIASED_LINE_WIDTH_RANGE: WebGlConstant;
205
+ static readonly CULL_FACE_MODE: WebGlConstant;
206
+ static readonly FRONT_FACE: WebGlConstant;
207
+ static readonly DEPTH_RANGE: WebGlConstant;
208
+ static readonly DEPTH_WRITEMASK: WebGlConstant;
209
+ static readonly DEPTH_CLEAR_VALUE: WebGlConstant;
210
+ static readonly DEPTH_FUNC: WebGlConstant;
211
+ static readonly STENCIL_CLEAR_VALUE: WebGlConstant;
212
+ static readonly STENCIL_FUNC: WebGlConstant;
213
+ static readonly STENCIL_FAIL: WebGlConstant;
214
+ static readonly STENCIL_PASS_DEPTH_FAIL: WebGlConstant;
215
+ static readonly STENCIL_PASS_DEPTH_PASS: WebGlConstant;
216
+ static readonly STENCIL_REF: WebGlConstant;
217
+ static readonly STENCIL_VALUE_MASK: WebGlConstant;
218
+ static readonly STENCIL_WRITEMASK: WebGlConstant;
219
+ static readonly STENCIL_BACK_FUNC: WebGlConstant;
220
+ static readonly STENCIL_BACK_FAIL: WebGlConstant;
221
+ static readonly STENCIL_BACK_PASS_DEPTH_FAIL: WebGlConstant;
222
+ static readonly STENCIL_BACK_PASS_DEPTH_PASS: WebGlConstant;
223
+ static readonly STENCIL_BACK_REF: WebGlConstant;
224
+ static readonly STENCIL_BACK_VALUE_MASK: WebGlConstant;
225
+ static readonly STENCIL_BACK_WRITEMASK: WebGlConstant;
226
+ static readonly VIEWPORT: WebGlConstant;
227
+ static readonly SCISSOR_BOX: WebGlConstant;
228
+ static readonly COLOR_CLEAR_VALUE: WebGlConstant;
229
+ static readonly COLOR_WRITEMASK: WebGlConstant;
230
+ static readonly UNPACK_ALIGNMENT: WebGlConstant;
231
+ static readonly PACK_ALIGNMENT: WebGlConstant;
232
+ static readonly MAX_TEXTURE_SIZE: WebGlConstant;
233
+ static readonly MAX_VIEWPORT_DIMS: WebGlConstant;
234
+ static readonly SUBPIXEL_BITS: WebGlConstant;
235
+ static readonly RED_BITS: WebGlConstant;
236
+ static readonly GREEN_BITS: WebGlConstant;
237
+ static readonly BLUE_BITS: WebGlConstant;
238
+ static readonly ALPHA_BITS: WebGlConstant;
239
+ static readonly DEPTH_BITS: WebGlConstant;
240
+ static readonly STENCIL_BITS: WebGlConstant;
241
+ static readonly POLYGON_OFFSET_UNITS: WebGlConstant;
242
+ static readonly POLYGON_OFFSET_FACTOR: WebGlConstant;
243
+ static readonly TEXTURE_BINDING_2D: WebGlConstant;
244
+ static readonly SAMPLE_BUFFERS: WebGlConstant;
245
+ static readonly SAMPLES: WebGlConstant;
246
+ static readonly SAMPLE_COVERAGE_VALUE: WebGlConstant;
247
+ static readonly SAMPLE_COVERAGE_INVERT: WebGlConstant;
248
+ static readonly COMPRESSED_TEXTURE_FORMATS: WebGlConstant;
249
+ static readonly VENDOR: WebGlConstant;
250
+ static readonly RENDERER: WebGlConstant;
251
+ static readonly VERSION: WebGlConstant;
252
+ static readonly IMPLEMENTATION_COLOR_READ_TYPE: WebGlConstant;
253
+ static readonly IMPLEMENTATION_COLOR_READ_FORMAT: WebGlConstant;
254
+ static readonly BROWSER_DEFAULT_WEBGL: WebGlConstant;
255
+ static readonly STATIC_DRAW: WebGlConstant;
256
+ static readonly STREAM_DRAW: WebGlConstant;
257
+ static readonly DYNAMIC_DRAW: WebGlConstant;
258
+ static readonly ARRAY_BUFFER: WebGlConstant;
259
+ static readonly ELEMENT_ARRAY_BUFFER: WebGlConstant;
260
+ static readonly BUFFER_SIZE: WebGlConstant;
261
+ static readonly BUFFER_USAGE: WebGlConstant;
262
+ static readonly CURRENT_VERTEX_ATTRIB: WebGlConstant;
263
+ static readonly VERTEX_ATTRIB_ARRAY_ENABLED: WebGlConstant;
264
+ static readonly VERTEX_ATTRIB_ARRAY_SIZE: WebGlConstant;
265
+ static readonly VERTEX_ATTRIB_ARRAY_STRIDE: WebGlConstant;
266
+ static readonly VERTEX_ATTRIB_ARRAY_TYPE: WebGlConstant;
267
+ static readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: WebGlConstant;
268
+ static readonly VERTEX_ATTRIB_ARRAY_POINTER: WebGlConstant;
269
+ static readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: WebGlConstant;
270
+ static readonly CULL_FACE: WebGlConstant;
271
+ static readonly FRONT: WebGlConstant;
272
+ static readonly BACK: WebGlConstant;
273
+ static readonly FRONT_AND_BACK: WebGlConstant;
274
+ static readonly BLEND: WebGlConstant;
275
+ static readonly DEPTH_TEST: WebGlConstant;
276
+ static readonly DITHER: WebGlConstant;
277
+ static readonly POLYGON_OFFSET_FILL: WebGlConstant;
278
+ static readonly SAMPLE_ALPHA_TO_COVERAGE: WebGlConstant;
279
+ static readonly SAMPLE_COVERAGE: WebGlConstant;
280
+ static readonly SCISSOR_TEST: WebGlConstant;
281
+ static readonly STENCIL_TEST: WebGlConstant;
282
+ static readonly NO_ERROR: WebGlConstant;
283
+ static readonly INVALID_ENUM: WebGlConstant;
284
+ static readonly INVALID_VALUE: WebGlConstant;
285
+ static readonly INVALID_OPERATION: WebGlConstant;
286
+ static readonly OUT_OF_MEMORY: WebGlConstant;
287
+ static readonly CONTEXT_LOST_WEBGL: WebGlConstant;
288
+ static readonly CW: WebGlConstant;
289
+ static readonly CCW: WebGlConstant;
290
+ static readonly DONT_CARE: WebGlConstant;
291
+ static readonly FASTEST: WebGlConstant;
292
+ static readonly NICEST: WebGlConstant;
293
+ static readonly GENERATE_MIPMAP_HINT: WebGlConstant;
294
+ static readonly BYTE: WebGlConstant;
295
+ static readonly UNSIGNED_BYTE: WebGlConstant;
296
+ static readonly SHORT: WebGlConstant;
297
+ static readonly UNSIGNED_SHORT: WebGlConstant;
298
+ static readonly INT: WebGlConstant;
299
+ static readonly UNSIGNED_INT: WebGlConstant;
300
+ static readonly FLOAT: WebGlConstant;
301
+ static readonly DEPTH_COMPONENT: WebGlConstant;
302
+ static readonly ALPHA: WebGlConstant;
303
+ static readonly RGB: WebGlConstant;
304
+ static readonly RGBA: WebGlConstant;
305
+ static readonly LUMINANCE: WebGlConstant;
306
+ static readonly LUMINANCE_ALPHA: WebGlConstant;
307
+ static readonly UNSIGNED_SHORT_4_4_4_4: WebGlConstant;
308
+ static readonly UNSIGNED_SHORT_5_5_5_1: WebGlConstant;
309
+ static readonly UNSIGNED_SHORT_5_6_5: WebGlConstant;
310
+ static readonly FRAGMENT_SHADER: WebGlConstant;
311
+ static readonly VERTEX_SHADER: WebGlConstant;
312
+ static readonly COMPILE_STATUS: WebGlConstant;
313
+ static readonly DELETE_STATUS: WebGlConstant;
314
+ static readonly LINK_STATUS: WebGlConstant;
315
+ static readonly VALIDATE_STATUS: WebGlConstant;
316
+ static readonly ATTACHED_SHADERS: WebGlConstant;
317
+ static readonly ACTIVE_ATTRIBUTES: WebGlConstant;
318
+ static readonly ACTIVE_UNIFORMS: WebGlConstant;
319
+ static readonly MAX_VERTEX_ATTRIBS: WebGlConstant;
320
+ static readonly MAX_VERTEX_UNIFORM_VECTORS: WebGlConstant;
321
+ static readonly MAX_VARYING_VECTORS: WebGlConstant;
322
+ static readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: WebGlConstant;
323
+ static readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: WebGlConstant;
324
+ static readonly MAX_TEXTURE_IMAGE_UNITS: WebGlConstant;
325
+ static readonly MAX_FRAGMENT_UNIFORM_VECTORS: WebGlConstant;
326
+ static readonly SHADER_TYPE: WebGlConstant;
327
+ static readonly SHADING_LANGUAGE_VERSION: WebGlConstant;
328
+ static readonly CURRENT_PROGRAM: WebGlConstant;
329
+ static readonly NEVER: WebGlConstant;
330
+ static readonly ALWAYS: WebGlConstant;
331
+ static readonly LESS: WebGlConstant;
332
+ static readonly EQUAL: WebGlConstant;
333
+ static readonly LEQUAL: WebGlConstant;
334
+ static readonly GREATER: WebGlConstant;
335
+ static readonly GEQUAL: WebGlConstant;
336
+ static readonly NOTEQUAL: WebGlConstant;
337
+ static readonly KEEP: WebGlConstant;
338
+ static readonly REPLACE: WebGlConstant;
339
+ static readonly INCR: WebGlConstant;
340
+ static readonly DECR: WebGlConstant;
341
+ static readonly INVERT: WebGlConstant;
342
+ static readonly INCR_WRAP: WebGlConstant;
343
+ static readonly DECR_WRAP: WebGlConstant;
344
+ static readonly NEAREST: WebGlConstant;
345
+ static readonly LINEAR: WebGlConstant;
346
+ static readonly NEAREST_MIPMAP_NEAREST: WebGlConstant;
347
+ static readonly LINEAR_MIPMAP_NEAREST: WebGlConstant;
348
+ static readonly NEAREST_MIPMAP_LINEAR: WebGlConstant;
349
+ static readonly LINEAR_MIPMAP_LINEAR: WebGlConstant;
350
+ static readonly TEXTURE_MAG_FILTER: WebGlConstant;
351
+ static readonly TEXTURE_MIN_FILTER: WebGlConstant;
352
+ static readonly TEXTURE_WRAP_S: WebGlConstant;
353
+ static readonly TEXTURE_WRAP_T: WebGlConstant;
354
+ static readonly TEXTURE_2D: WebGlConstant;
355
+ static readonly TEXTURE: WebGlConstant;
356
+ static readonly TEXTURE_CUBE_MAP: WebGlConstant;
357
+ static readonly TEXTURE_BINDING_CUBE_MAP: WebGlConstant;
358
+ static readonly TEXTURE_CUBE_MAP_POSITIVE_X: WebGlConstant;
359
+ static readonly TEXTURE_CUBE_MAP_NEGATIVE_X: WebGlConstant;
360
+ static readonly TEXTURE_CUBE_MAP_POSITIVE_Y: WebGlConstant;
361
+ static readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: WebGlConstant;
362
+ static readonly TEXTURE_CUBE_MAP_POSITIVE_Z: WebGlConstant;
363
+ static readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: WebGlConstant;
364
+ static readonly MAX_CUBE_MAP_TEXTURE_SIZE: WebGlConstant;
365
+ static readonly TEXTURE0: WebGlConstant;
366
+ static readonly TEXTURE1: WebGlConstant;
367
+ static readonly TEXTURE2: WebGlConstant;
368
+ static readonly TEXTURE3: WebGlConstant;
369
+ static readonly TEXTURE4: WebGlConstant;
370
+ static readonly TEXTURE5: WebGlConstant;
371
+ static readonly TEXTURE6: WebGlConstant;
372
+ static readonly TEXTURE7: WebGlConstant;
373
+ static readonly TEXTURE8: WebGlConstant;
374
+ static readonly TEXTURE9: WebGlConstant;
375
+ static readonly TEXTURE10: WebGlConstant;
376
+ static readonly TEXTURE11: WebGlConstant;
377
+ static readonly TEXTURE12: WebGlConstant;
378
+ static readonly TEXTURE13: WebGlConstant;
379
+ static readonly TEXTURE14: WebGlConstant;
380
+ static readonly TEXTURE15: WebGlConstant;
381
+ static readonly TEXTURE16: WebGlConstant;
382
+ static readonly TEXTURE17: WebGlConstant;
383
+ static readonly TEXTURE18: WebGlConstant;
384
+ static readonly TEXTURE19: WebGlConstant;
385
+ static readonly TEXTURE20: WebGlConstant;
386
+ static readonly TEXTURE21: WebGlConstant;
387
+ static readonly TEXTURE22: WebGlConstant;
388
+ static readonly TEXTURE23: WebGlConstant;
389
+ static readonly TEXTURE24: WebGlConstant;
390
+ static readonly TEXTURE25: WebGlConstant;
391
+ static readonly TEXTURE26: WebGlConstant;
392
+ static readonly TEXTURE27: WebGlConstant;
393
+ static readonly TEXTURE28: WebGlConstant;
394
+ static readonly TEXTURE29: WebGlConstant;
395
+ static readonly TEXTURE30: WebGlConstant;
396
+ static readonly TEXTURE31: WebGlConstant;
397
+ static readonly ACTIVE_TEXTURE: WebGlConstant;
398
+ static readonly REPEAT: WebGlConstant;
399
+ static readonly CLAMP_TO_EDGE: WebGlConstant;
400
+ static readonly MIRRORED_REPEAT: WebGlConstant;
401
+ static readonly FLOAT_VEC2: WebGlConstant;
402
+ static readonly FLOAT_VEC3: WebGlConstant;
403
+ static readonly FLOAT_VEC4: WebGlConstant;
404
+ static readonly INT_VEC2: WebGlConstant;
405
+ static readonly INT_VEC3: WebGlConstant;
406
+ static readonly INT_VEC4: WebGlConstant;
407
+ static readonly BOOL: WebGlConstant;
408
+ static readonly BOOL_VEC2: WebGlConstant;
409
+ static readonly BOOL_VEC3: WebGlConstant;
410
+ static readonly BOOL_VEC4: WebGlConstant;
411
+ static readonly FLOAT_MAT2: WebGlConstant;
412
+ static readonly FLOAT_MAT3: WebGlConstant;
413
+ static readonly FLOAT_MAT4: WebGlConstant;
414
+ static readonly SAMPLER_2D: WebGlConstant;
415
+ static readonly SAMPLER_CUBE: WebGlConstant;
416
+ static readonly LOW_FLOAT: WebGlConstant;
417
+ static readonly MEDIUM_FLOAT: WebGlConstant;
418
+ static readonly HIGH_FLOAT: WebGlConstant;
419
+ static readonly LOW_INT: WebGlConstant;
420
+ static readonly MEDIUM_INT: WebGlConstant;
421
+ static readonly HIGH_INT: WebGlConstant;
422
+ static readonly FRAMEBUFFER: WebGlConstant;
423
+ static readonly RENDERBUFFER: WebGlConstant;
424
+ static readonly RGBA4: WebGlConstant;
425
+ static readonly RGB5_A1: WebGlConstant;
426
+ static readonly RGB565: WebGlConstant;
427
+ static readonly DEPTH_COMPONENT16: WebGlConstant;
428
+ static readonly STENCIL_INDEX: WebGlConstant;
429
+ static readonly STENCIL_INDEX8: WebGlConstant;
430
+ static readonly DEPTH_STENCIL: WebGlConstant;
431
+ static readonly RENDERBUFFER_WIDTH: WebGlConstant;
432
+ static readonly RENDERBUFFER_HEIGHT: WebGlConstant;
433
+ static readonly RENDERBUFFER_INTERNAL_FORMAT: WebGlConstant;
434
+ static readonly RENDERBUFFER_RED_SIZE: WebGlConstant;
435
+ static readonly RENDERBUFFER_GREEN_SIZE: WebGlConstant;
436
+ static readonly RENDERBUFFER_BLUE_SIZE: WebGlConstant;
437
+ static readonly RENDERBUFFER_ALPHA_SIZE: WebGlConstant;
438
+ static readonly RENDERBUFFER_DEPTH_SIZE: WebGlConstant;
439
+ static readonly RENDERBUFFER_STENCIL_SIZE: WebGlConstant;
440
+ static readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: WebGlConstant;
441
+ static readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: WebGlConstant;
442
+ static readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: WebGlConstant;
443
+ static readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: WebGlConstant;
444
+ static readonly COLOR_ATTACHMENT0: WebGlConstant;
445
+ static readonly DEPTH_ATTACHMENT: WebGlConstant;
446
+ static readonly STENCIL_ATTACHMENT: WebGlConstant;
447
+ static readonly DEPTH_STENCIL_ATTACHMENT: WebGlConstant;
448
+ static readonly NONE: WebGlConstant;
449
+ static readonly FRAMEBUFFER_COMPLETE: WebGlConstant;
450
+ static readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: WebGlConstant;
451
+ static readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: WebGlConstant;
452
+ static readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: WebGlConstant;
453
+ static readonly FRAMEBUFFER_UNSUPPORTED: WebGlConstant;
454
+ static readonly FRAMEBUFFER_BINDING: WebGlConstant;
455
+ static readonly RENDERBUFFER_BINDING: WebGlConstant;
456
+ static readonly MAX_RENDERBUFFER_SIZE: WebGlConstant;
457
+ static readonly INVALID_FRAMEBUFFER_OPERATION: WebGlConstant;
458
+ static readonly UNPACK_FLIP_Y_WEBGL: WebGlConstant;
459
+ static readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: WebGlConstant;
460
+ static readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: WebGlConstant;
461
+ static readonly READ_BUFFER: WebGlConstant;
462
+ static readonly UNPACK_ROW_LENGTH: WebGlConstant;
463
+ static readonly UNPACK_SKIP_ROWS: WebGlConstant;
464
+ static readonly UNPACK_SKIP_PIXELS: WebGlConstant;
465
+ static readonly PACK_ROW_LENGTH: WebGlConstant;
466
+ static readonly PACK_SKIP_ROWS: WebGlConstant;
467
+ static readonly PACK_SKIP_PIXELS: WebGlConstant;
468
+ static readonly TEXTURE_BINDING_3D: WebGlConstant;
469
+ static readonly UNPACK_SKIP_IMAGES: WebGlConstant;
470
+ static readonly UNPACK_IMAGE_HEIGHT: WebGlConstant;
471
+ static readonly MAX_3D_TEXTURE_SIZE: WebGlConstant;
472
+ static readonly MAX_ELEMENTS_VERTICES: WebGlConstant;
473
+ static readonly MAX_ELEMENTS_INDICES: WebGlConstant;
474
+ static readonly MAX_TEXTURE_LOD_BIAS: WebGlConstant;
475
+ static readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: WebGlConstant;
476
+ static readonly MAX_VERTEX_UNIFORM_COMPONENTS: WebGlConstant;
477
+ static readonly MAX_ARRAY_TEXTURE_LAYERS: WebGlConstant;
478
+ static readonly MIN_PROGRAM_TEXEL_OFFSET: WebGlConstant;
479
+ static readonly MAX_PROGRAM_TEXEL_OFFSET: WebGlConstant;
480
+ static readonly MAX_VARYING_COMPONENTS: WebGlConstant;
481
+ static readonly FRAGMENT_SHADER_DERIVATIVE_HINT: WebGlConstant;
482
+ static readonly RASTERIZER_DISCARD: WebGlConstant;
483
+ static readonly VERTEX_ARRAY_BINDING: WebGlConstant;
484
+ static readonly MAX_VERTEX_OUTPUT_COMPONENTS: WebGlConstant;
485
+ static readonly MAX_FRAGMENT_INPUT_COMPONENTS: WebGlConstant;
486
+ static readonly MAX_SERVER_WAIT_TIMEOUT: WebGlConstant;
487
+ static readonly MAX_ELEMENT_INDEX: WebGlConstant;
488
+ static readonly RED: WebGlConstant;
489
+ static readonly RGB8: WebGlConstant;
490
+ static readonly RGBA8: WebGlConstant;
491
+ static readonly RGB10_A2: WebGlConstant;
492
+ static readonly TEXTURE_3D: WebGlConstant;
493
+ static readonly TEXTURE_WRAP_R: WebGlConstant;
494
+ static readonly TEXTURE_MIN_LOD: WebGlConstant;
495
+ static readonly TEXTURE_MAX_LOD: WebGlConstant;
496
+ static readonly TEXTURE_BASE_LEVEL: WebGlConstant;
497
+ static readonly TEXTURE_MAX_LEVEL: WebGlConstant;
498
+ static readonly TEXTURE_COMPARE_MODE: WebGlConstant;
499
+ static readonly TEXTURE_COMPARE_FUNC: WebGlConstant;
500
+ static readonly SRGB: WebGlConstant;
501
+ static readonly SRGB8: WebGlConstant;
502
+ static readonly SRGB8_ALPHA8: WebGlConstant;
503
+ static readonly COMPARE_REF_TO_TEXTURE: WebGlConstant;
504
+ static readonly RGBA32F: WebGlConstant;
505
+ static readonly RGB32F: WebGlConstant;
506
+ static readonly RGBA16F: WebGlConstant;
507
+ static readonly RGB16F: WebGlConstant;
508
+ static readonly TEXTURE_2D_ARRAY: WebGlConstant;
509
+ static readonly TEXTURE_BINDING_2D_ARRAY: WebGlConstant;
510
+ static readonly R11F_G11F_B10F: WebGlConstant;
511
+ static readonly RGB9_E5: WebGlConstant;
512
+ static readonly RGBA32UI: WebGlConstant;
513
+ static readonly RGB32UI: WebGlConstant;
514
+ static readonly RGBA16UI: WebGlConstant;
515
+ static readonly RGB16UI: WebGlConstant;
516
+ static readonly RGBA8UI: WebGlConstant;
517
+ static readonly RGB8UI: WebGlConstant;
518
+ static readonly RGBA32I: WebGlConstant;
519
+ static readonly RGB32I: WebGlConstant;
520
+ static readonly RGBA16I: WebGlConstant;
521
+ static readonly RGB16I: WebGlConstant;
522
+ static readonly RGBA8I: WebGlConstant;
523
+ static readonly RGB8I: WebGlConstant;
524
+ static readonly RED_INTEGER: WebGlConstant;
525
+ static readonly RGB_INTEGER: WebGlConstant;
526
+ static readonly RGBA_INTEGER: WebGlConstant;
527
+ static readonly R8: WebGlConstant;
528
+ static readonly RG8: WebGlConstant;
529
+ static readonly R16F: WebGlConstant;
530
+ static readonly R32F: WebGlConstant;
531
+ static readonly RG16F: WebGlConstant;
532
+ static readonly RG32F: WebGlConstant;
533
+ static readonly R8I: WebGlConstant;
534
+ static readonly R8UI: WebGlConstant;
535
+ static readonly R16I: WebGlConstant;
536
+ static readonly R16UI: WebGlConstant;
537
+ static readonly R32I: WebGlConstant;
538
+ static readonly R32UI: WebGlConstant;
539
+ static readonly RG8I: WebGlConstant;
540
+ static readonly RG8UI: WebGlConstant;
541
+ static readonly RG16I: WebGlConstant;
542
+ static readonly RG16UI: WebGlConstant;
543
+ static readonly RG32I: WebGlConstant;
544
+ static readonly RG32UI: WebGlConstant;
545
+ static readonly R8_SNORM: WebGlConstant;
546
+ static readonly RG8_SNORM: WebGlConstant;
547
+ static readonly RGB8_SNORM: WebGlConstant;
548
+ static readonly RGBA8_SNORM: WebGlConstant;
549
+ static readonly RGB10_A2UI: WebGlConstant;
550
+ static readonly TEXTURE_IMMUTABLE_FORMAT: WebGlConstant;
551
+ static readonly TEXTURE_IMMUTABLE_LEVELS: WebGlConstant;
552
+ static readonly UNSIGNED_INT_2_10_10_10_REV: WebGlConstant;
553
+ static readonly UNSIGNED_INT_10F_11F_11F_REV: WebGlConstant;
554
+ static readonly UNSIGNED_INT_5_9_9_9_REV: WebGlConstant;
555
+ static readonly FLOAT_32_UNSIGNED_INT_24_8_REV: WebGlConstant;
556
+ static readonly UNSIGNED_INT_24_8: WebGlConstant;
557
+ static readonly HALF_FLOAT: WebGlConstant;
558
+ static readonly RG: WebGlConstant;
559
+ static readonly RG_INTEGER: WebGlConstant;
560
+ static readonly INT_2_10_10_10_REV: WebGlConstant;
561
+ static readonly CURRENT_QUERY: WebGlConstant;
562
+ static readonly QUERY_RESULT: WebGlConstant;
563
+ static readonly QUERY_RESULT_AVAILABLE: WebGlConstant;
564
+ static readonly ANY_SAMPLES_PASSED: WebGlConstant;
565
+ static readonly ANY_SAMPLES_PASSED_CONSERVATIVE: WebGlConstant;
566
+ static readonly MAX_DRAW_BUFFERS: WebGlConstant;
567
+ static readonly DRAW_BUFFER0: WebGlConstant;
568
+ static readonly DRAW_BUFFER1: WebGlConstant;
569
+ static readonly DRAW_BUFFER2: WebGlConstant;
570
+ static readonly DRAW_BUFFER3: WebGlConstant;
571
+ static readonly DRAW_BUFFER4: WebGlConstant;
572
+ static readonly DRAW_BUFFER5: WebGlConstant;
573
+ static readonly DRAW_BUFFER6: WebGlConstant;
574
+ static readonly DRAW_BUFFER7: WebGlConstant;
575
+ static readonly DRAW_BUFFER8: WebGlConstant;
576
+ static readonly DRAW_BUFFER9: WebGlConstant;
577
+ static readonly DRAW_BUFFER10: WebGlConstant;
578
+ static readonly DRAW_BUFFER11: WebGlConstant;
579
+ static readonly DRAW_BUFFER12: WebGlConstant;
580
+ static readonly DRAW_BUFFER13: WebGlConstant;
581
+ static readonly DRAW_BUFFER14: WebGlConstant;
582
+ static readonly DRAW_BUFFER15: WebGlConstant;
583
+ static readonly MAX_COLOR_ATTACHMENTS: WebGlConstant;
584
+ static readonly COLOR_ATTACHMENT1: WebGlConstant;
585
+ static readonly COLOR_ATTACHMENT2: WebGlConstant;
586
+ static readonly COLOR_ATTACHMENT3: WebGlConstant;
587
+ static readonly COLOR_ATTACHMENT4: WebGlConstant;
588
+ static readonly COLOR_ATTACHMENT5: WebGlConstant;
589
+ static readonly COLOR_ATTACHMENT6: WebGlConstant;
590
+ static readonly COLOR_ATTACHMENT7: WebGlConstant;
591
+ static readonly COLOR_ATTACHMENT8: WebGlConstant;
592
+ static readonly COLOR_ATTACHMENT9: WebGlConstant;
593
+ static readonly COLOR_ATTACHMENT10: WebGlConstant;
594
+ static readonly COLOR_ATTACHMENT11: WebGlConstant;
595
+ static readonly COLOR_ATTACHMENT12: WebGlConstant;
596
+ static readonly COLOR_ATTACHMENT13: WebGlConstant;
597
+ static readonly COLOR_ATTACHMENT14: WebGlConstant;
598
+ static readonly COLOR_ATTACHMENT15: WebGlConstant;
599
+ static readonly SAMPLER_3D: WebGlConstant;
600
+ static readonly SAMPLER_2D_SHADOW: WebGlConstant;
601
+ static readonly SAMPLER_2D_ARRAY: WebGlConstant;
602
+ static readonly SAMPLER_2D_ARRAY_SHADOW: WebGlConstant;
603
+ static readonly SAMPLER_CUBE_SHADOW: WebGlConstant;
604
+ static readonly INT_SAMPLER_2D: WebGlConstant;
605
+ static readonly INT_SAMPLER_3D: WebGlConstant;
606
+ static readonly INT_SAMPLER_CUBE: WebGlConstant;
607
+ static readonly INT_SAMPLER_2D_ARRAY: WebGlConstant;
608
+ static readonly UNSIGNED_INT_SAMPLER_2D: WebGlConstant;
609
+ static readonly UNSIGNED_INT_SAMPLER_3D: WebGlConstant;
610
+ static readonly UNSIGNED_INT_SAMPLER_CUBE: WebGlConstant;
611
+ static readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: WebGlConstant;
612
+ static readonly MAX_SAMPLES: WebGlConstant;
613
+ static readonly SAMPLER_BINDING: WebGlConstant;
614
+ static readonly PIXEL_PACK_BUFFER: WebGlConstant;
615
+ static readonly PIXEL_UNPACK_BUFFER: WebGlConstant;
616
+ static readonly PIXEL_PACK_BUFFER_BINDING: WebGlConstant;
617
+ static readonly PIXEL_UNPACK_BUFFER_BINDING: WebGlConstant;
618
+ static readonly COPY_READ_BUFFER: WebGlConstant;
619
+ static readonly COPY_WRITE_BUFFER: WebGlConstant;
620
+ static readonly COPY_READ_BUFFER_BINDING: WebGlConstant;
621
+ static readonly COPY_WRITE_BUFFER_BINDING: WebGlConstant;
622
+ static readonly FLOAT_MAT2x3: WebGlConstant;
623
+ static readonly FLOAT_MAT2x4: WebGlConstant;
624
+ static readonly FLOAT_MAT3x2: WebGlConstant;
625
+ static readonly FLOAT_MAT3x4: WebGlConstant;
626
+ static readonly FLOAT_MAT4x2: WebGlConstant;
627
+ static readonly FLOAT_MAT4x3: WebGlConstant;
628
+ static readonly UNSIGNED_INT_VEC2: WebGlConstant;
629
+ static readonly UNSIGNED_INT_VEC3: WebGlConstant;
630
+ static readonly UNSIGNED_INT_VEC4: WebGlConstant;
631
+ static readonly UNSIGNED_NORMALIZED: WebGlConstant;
632
+ static readonly SIGNED_NORMALIZED: WebGlConstant;
633
+ static readonly VERTEX_ATTRIB_ARRAY_INTEGER: WebGlConstant;
634
+ static readonly VERTEX_ATTRIB_ARRAY_DIVISOR: WebGlConstant;
635
+ static readonly TRANSFORM_FEEDBACK_BUFFER_MODE: WebGlConstant;
636
+ static readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: WebGlConstant;
637
+ static readonly TRANSFORM_FEEDBACK_VARYINGS: WebGlConstant;
638
+ static readonly TRANSFORM_FEEDBACK_BUFFER_START: WebGlConstant;
639
+ static readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: WebGlConstant;
640
+ static readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: WebGlConstant;
641
+ static readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: WebGlConstant;
642
+ static readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: WebGlConstant;
643
+ static readonly INTERLEAVED_ATTRIBS: WebGlConstant;
644
+ static readonly SEPARATE_ATTRIBS: WebGlConstant;
645
+ static readonly TRANSFORM_FEEDBACK_BUFFER: WebGlConstant;
646
+ static readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: WebGlConstant;
647
+ static readonly TRANSFORM_FEEDBACK: WebGlConstant;
648
+ static readonly TRANSFORM_FEEDBACK_PAUSED: WebGlConstant;
649
+ static readonly TRANSFORM_FEEDBACK_ACTIVE: WebGlConstant;
650
+ static readonly TRANSFORM_FEEDBACK_BINDING: WebGlConstant;
651
+ static readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: WebGlConstant;
652
+ static readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: WebGlConstant;
653
+ static readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: WebGlConstant;
654
+ static readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: WebGlConstant;
655
+ static readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: WebGlConstant;
656
+ static readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: WebGlConstant;
657
+ static readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: WebGlConstant;
658
+ static readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: WebGlConstant;
659
+ static readonly FRAMEBUFFER_DEFAULT: WebGlConstant;
660
+ static readonly DEPTH24_STENCIL8: WebGlConstant;
661
+ static readonly DRAW_FRAMEBUFFER_BINDING: WebGlConstant;
662
+ static readonly READ_FRAMEBUFFER: WebGlConstant;
663
+ static readonly DRAW_FRAMEBUFFER: WebGlConstant;
664
+ static readonly READ_FRAMEBUFFER_BINDING: WebGlConstant;
665
+ static readonly RENDERBUFFER_SAMPLES: WebGlConstant;
666
+ static readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: WebGlConstant;
667
+ static readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: WebGlConstant;
668
+ static readonly UNIFORM_BUFFER: WebGlConstant;
669
+ static readonly UNIFORM_BUFFER_BINDING: WebGlConstant;
670
+ static readonly UNIFORM_BUFFER_START: WebGlConstant;
671
+ static readonly UNIFORM_BUFFER_SIZE: WebGlConstant;
672
+ static readonly MAX_VERTEX_UNIFORM_BLOCKS: WebGlConstant;
673
+ static readonly MAX_FRAGMENT_UNIFORM_BLOCKS: WebGlConstant;
674
+ static readonly MAX_COMBINED_UNIFORM_BLOCKS: WebGlConstant;
675
+ static readonly MAX_UNIFORM_BUFFER_BINDINGS: WebGlConstant;
676
+ static readonly MAX_UNIFORM_BLOCK_SIZE: WebGlConstant;
677
+ static readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: WebGlConstant;
678
+ static readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: WebGlConstant;
679
+ static readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: WebGlConstant;
680
+ static readonly ACTIVE_UNIFORM_BLOCKS: WebGlConstant;
681
+ static readonly UNIFORM_TYPE: WebGlConstant;
682
+ static readonly UNIFORM_SIZE: WebGlConstant;
683
+ static readonly UNIFORM_BLOCK_INDEX: WebGlConstant;
684
+ static readonly UNIFORM_OFFSET: WebGlConstant;
685
+ static readonly UNIFORM_ARRAY_STRIDE: WebGlConstant;
686
+ static readonly UNIFORM_MATRIX_STRIDE: WebGlConstant;
687
+ static readonly UNIFORM_IS_ROW_MAJOR: WebGlConstant;
688
+ static readonly UNIFORM_BLOCK_BINDING: WebGlConstant;
689
+ static readonly UNIFORM_BLOCK_DATA_SIZE: WebGlConstant;
690
+ static readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: WebGlConstant;
691
+ static readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: WebGlConstant;
692
+ static readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: WebGlConstant;
693
+ static readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: WebGlConstant;
694
+ static readonly OBJECT_TYPE: WebGlConstant;
695
+ static readonly SYNC_CONDITION: WebGlConstant;
696
+ static readonly SYNC_STATUS: WebGlConstant;
697
+ static readonly SYNC_FLAGS: WebGlConstant;
698
+ static readonly SYNC_FENCE: WebGlConstant;
699
+ static readonly SYNC_GPU_COMMANDS_COMPLETE: WebGlConstant;
700
+ static readonly UNSIGNALED: WebGlConstant;
701
+ static readonly SIGNALED: WebGlConstant;
702
+ static readonly ALREADY_SIGNALED: WebGlConstant;
703
+ static readonly TIMEOUT_EXPIRED: WebGlConstant;
704
+ static readonly CONDITION_SATISFIED: WebGlConstant;
705
+ static readonly WAIT_FAILED: WebGlConstant;
706
+ static readonly SYNC_FLUSH_COMMANDS_BIT: WebGlConstant;
707
+ static readonly COLOR: WebGlConstant;
708
+ static readonly DEPTH: WebGlConstant;
709
+ static readonly STENCIL: WebGlConstant;
710
+ static readonly MIN: WebGlConstant;
711
+ static readonly MAX: WebGlConstant;
712
+ static readonly DEPTH_COMPONENT24: WebGlConstant;
713
+ static readonly STREAM_READ: WebGlConstant;
714
+ static readonly STREAM_COPY: WebGlConstant;
715
+ static readonly STATIC_READ: WebGlConstant;
716
+ static readonly STATIC_COPY: WebGlConstant;
717
+ static readonly DYNAMIC_READ: WebGlConstant;
718
+ static readonly DYNAMIC_COPY: WebGlConstant;
719
+ static readonly DEPTH_COMPONENT32F: WebGlConstant;
720
+ static readonly DEPTH32F_STENCIL8: WebGlConstant;
721
+ static readonly INVALID_INDEX: WebGlConstant;
722
+ static readonly TIMEOUT_IGNORED: WebGlConstant;
723
+ static readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: WebGlConstant;
724
+ static readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: WebGlConstant;
725
+ static readonly UNMASKED_VENDOR_WEBGL: WebGlConstant;
726
+ static readonly UNMASKED_RENDERER_WEBGL: WebGlConstant;
727
+ static readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: WebGlConstant;
728
+ static readonly TEXTURE_MAX_ANISOTROPY_EXT: WebGlConstant;
729
+ static readonly COMPRESSED_RGB_S3TC_DXT1_EXT: WebGlConstant;
730
+ static readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: WebGlConstant;
731
+ static readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: WebGlConstant;
732
+ static readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: WebGlConstant;
733
+ static readonly COMPRESSED_R11_EAC: WebGlConstant;
734
+ static readonly COMPRESSED_SIGNED_R11_EAC: WebGlConstant;
735
+ static readonly COMPRESSED_RG11_EAC: WebGlConstant;
736
+ static readonly COMPRESSED_SIGNED_RG11_EAC: WebGlConstant;
737
+ static readonly COMPRESSED_RGB8_ETC2: WebGlConstant;
738
+ static readonly COMPRESSED_RGBA8_ETC2_EAC: WebGlConstant;
739
+ static readonly COMPRESSED_SRGB8_ETC2: WebGlConstant;
740
+ static readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: WebGlConstant;
741
+ static readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: WebGlConstant;
742
+ static readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: WebGlConstant;
743
+ static readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: WebGlConstant;
744
+ static readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: WebGlConstant;
745
+ static readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: WebGlConstant;
746
+ static readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: WebGlConstant;
747
+ static readonly COMPRESSED_RGB_ETC1_WEBGL: WebGlConstant;
748
+ static readonly COMPRESSED_RGB_ATC_WEBGL: WebGlConstant;
749
+ static readonly COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: WebGlConstant;
750
+ static readonly COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: WebGlConstant;
751
+ static readonly UNSIGNED_INT_24_8_WEBGL: WebGlConstant;
752
+ static readonly HALF_FLOAT_OES: WebGlConstant;
753
+ static readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: WebGlConstant;
754
+ static readonly UNSIGNED_NORMALIZED_EXT: WebGlConstant;
755
+ static readonly MIN_EXT: WebGlConstant;
756
+ static readonly MAX_EXT: WebGlConstant;
757
+ static readonly SRGB_EXT: WebGlConstant;
758
+ static readonly SRGB_ALPHA_EXT: WebGlConstant;
759
+ static readonly SRGB8_ALPHA8_EXT: WebGlConstant;
760
+ static readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: WebGlConstant;
761
+ static readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: WebGlConstant;
762
+ static readonly COLOR_ATTACHMENT0_WEBGL: WebGlConstant;
763
+ static readonly COLOR_ATTACHMENT1_WEBGL: WebGlConstant;
764
+ static readonly COLOR_ATTACHMENT2_WEBGL: WebGlConstant;
765
+ static readonly COLOR_ATTACHMENT3_WEBGL: WebGlConstant;
766
+ static readonly COLOR_ATTACHMENT4_WEBGL: WebGlConstant;
767
+ static readonly COLOR_ATTACHMENT5_WEBGL: WebGlConstant;
768
+ static readonly COLOR_ATTACHMENT6_WEBGL: WebGlConstant;
769
+ static readonly COLOR_ATTACHMENT7_WEBGL: WebGlConstant;
770
+ static readonly COLOR_ATTACHMENT8_WEBGL: WebGlConstant;
771
+ static readonly COLOR_ATTACHMENT9_WEBGL: WebGlConstant;
772
+ static readonly COLOR_ATTACHMENT10_WEBGL: WebGlConstant;
773
+ static readonly COLOR_ATTACHMENT11_WEBGL: WebGlConstant;
774
+ static readonly COLOR_ATTACHMENT12_WEBGL: WebGlConstant;
775
+ static readonly COLOR_ATTACHMENT13_WEBGL: WebGlConstant;
776
+ static readonly COLOR_ATTACHMENT14_WEBGL: WebGlConstant;
777
+ static readonly COLOR_ATTACHMENT15_WEBGL: WebGlConstant;
778
+ static readonly DRAW_BUFFER0_WEBGL: WebGlConstant;
779
+ static readonly DRAW_BUFFER1_WEBGL: WebGlConstant;
780
+ static readonly DRAW_BUFFER2_WEBGL: WebGlConstant;
781
+ static readonly DRAW_BUFFER3_WEBGL: WebGlConstant;
782
+ static readonly DRAW_BUFFER4_WEBGL: WebGlConstant;
783
+ static readonly DRAW_BUFFER5_WEBGL: WebGlConstant;
784
+ static readonly DRAW_BUFFER6_WEBGL: WebGlConstant;
785
+ static readonly DRAW_BUFFER7_WEBGL: WebGlConstant;
786
+ static readonly DRAW_BUFFER8_WEBGL: WebGlConstant;
787
+ static readonly DRAW_BUFFER9_WEBGL: WebGlConstant;
788
+ static readonly DRAW_BUFFER10_WEBGL: WebGlConstant;
789
+ static readonly DRAW_BUFFER11_WEBGL: WebGlConstant;
790
+ static readonly DRAW_BUFFER12_WEBGL: WebGlConstant;
791
+ static readonly DRAW_BUFFER13_WEBGL: WebGlConstant;
792
+ static readonly DRAW_BUFFER14_WEBGL: WebGlConstant;
793
+ static readonly DRAW_BUFFER15_WEBGL: WebGlConstant;
794
+ static readonly MAX_COLOR_ATTACHMENTS_WEBGL: WebGlConstant;
795
+ static readonly MAX_DRAW_BUFFERS_WEBGL: WebGlConstant;
796
+ static readonly VERTEX_ARRAY_BINDING_OES: WebGlConstant;
797
+ static readonly QUERY_COUNTER_BITS_EXT: WebGlConstant;
798
+ static readonly CURRENT_QUERY_EXT: WebGlConstant;
799
+ static readonly QUERY_RESULT_EXT: WebGlConstant;
800
+ static readonly QUERY_RESULT_AVAILABLE_EXT: WebGlConstant;
801
+ static readonly TIME_ELAPSED_EXT: WebGlConstant;
802
+ static readonly TIMESTAMP_EXT: WebGlConstant;
803
+ static readonly GPU_DISJOINT_EXT: WebGlConstant;
804
+ // static isWebGlConstant(value: number): boolean;
805
+ // static stringifyWebGlConstant(value: number, command: string): string;
806
+ protected static readonly zeroMeaningByCommand: {
807
+ [commandName: string]: string;
808
+ };
809
+ protected static readonly oneMeaningByCommand: {
810
+ [commandName: string]: string;
811
+ };
812
+ }
813
+ interface ITimeSpy {
814
+ onFrameStart: IEvent<ITimeSpy>;
815
+ onFrameEnd: IEvent<ITimeSpy>;
816
+ onError: IEvent<string>;
817
+ playNextFrame(): void;
818
+ changeSpeedRatio(ratio: number): void;
819
+ getFps(): number;
820
+ }
821
+ interface ITimeSpyOptions {
822
+ spiedWindow?: {
823
+ [name: string]: Function;
824
+ };
825
+ eventConstructor: EventConstructor;
826
+ timeConstructor: TimeConstructor;
827
+ }
828
+ type TimeSpyConstructor = {
829
+ new (options: ITimeSpyOptions, logger: ILogger): ITimeSpy;
830
+ };
831
+ interface ICanvasSpy {
832
+ readonly onContextRequested: IEvent<IContextInformation>;
833
+ }
834
+ interface ICanvasSpyOptions {
835
+ readonly canvas?: HTMLCanvasElement;
836
+ readonly eventConstructor: EventConstructor;
837
+ }
838
+ type CanvasSpyConstructor = {
839
+ new (options: ICanvasSpyOptions, logger: ILogger): ICanvasSpy;
840
+ };
841
+ interface IContextSpy {
842
+ context: WebGLRenderingContexts;
843
+ version: number;
844
+ onMaxCommand: IEvent<IContextSpy>;
845
+ spy(): void;
846
+ unSpy(): void;
847
+ startCapture(maxCommands?: number, quickCapture?: boolean): void;
848
+ stopCapture(): ICapture;
849
+ setMarker(marker: string): void;
850
+ clearMarker(): void;
851
+ isCapturing(): boolean;
852
+ getNextCommandCaptureId(): number;
853
+ }
854
+ interface IContextSpyOptions {
855
+ context: WebGLRenderingContexts;
856
+ version: number;
857
+ recordAlways?: boolean;
858
+ injection: InjectionType;
859
+ }
860
+ type ContextSpyConstructor = {
861
+ new (options: IContextSpyOptions, time: ITime, logger: ILogger): IContextSpy;
862
+ };
863
+ interface ICommandSpy {
864
+ readonly spiedCommandName: string;
865
+ createCapture(
866
+ functionInformation: IFunctionInformation,
867
+ commandCaptureId: number,
868
+ marker: string
869
+ ): ICommandCapture;
870
+ spy(): void;
871
+ unSpy(): void;
872
+ }
873
+ type CommandSpyCallback = (command: ICommandSpy, functionInformation: IFunctionInformation) => void;
874
+ interface ICommandSpyOptions extends IStateOptions {
875
+ readonly spiedCommandName: string;
876
+ readonly spiedCommandRunningContext: any;
877
+ readonly callback: CommandSpyCallback;
878
+ readonly commandNamespace: FunctionIndexer;
879
+ readonly stackTraceCtor: StackTraceConstructor;
880
+ readonly defaultCommandCtor: CommandConstructor;
881
+ }
882
+ type CommandSpyConstructor = {
883
+ new (options: ICommandSpyOptions, time: ITime, logger: ILogger): ICommandSpy;
884
+ };
885
+ interface ICommand {
886
+ readonly spiedCommandName: string;
887
+ createCapture(
888
+ functionInformation: IFunctionInformation,
889
+ commandCaptureId: number,
890
+ marker: string
891
+ ): ICommandCapture;
892
+ }
893
+ interface ICommandOptions extends IContextInformation {
894
+ readonly spiedCommandName: string;
895
+ }
896
+ type CommandConstructor = {
897
+ new (options: ICommandOptions, stackTrace: IStackTrace, logger: ILogger): ICommand;
898
+ };
899
+ interface IRecorderSpy {
900
+ readonly contextInformation: IContextInformation;
901
+ recordCommand(functionInformation: IFunctionInformation): void;
902
+ startCapture(): void;
903
+ stopCapture(): void;
904
+ appendRecordedInformation(capture: ICapture): void;
905
+ }
906
+ interface IRecorderSpyOptions {
907
+ readonly contextInformation: IContextInformation;
908
+ readonly recorderNamespace: FunctionIndexer;
909
+ readonly timeConstructor: TimeConstructor;
910
+ }
911
+ type RecorderSpyConstructor = {
912
+ new (options: IRecorderSpyOptions, logger: ILogger): IRecorderSpy;
913
+ };
914
+ interface IStateSpy {
915
+ readonly contextInformation: IContextInformation;
916
+ startCapture(currentCapture: ICapture, quickCapture: boolean): void;
917
+ stopCapture(currentCapture: ICapture): void;
918
+ captureState(commandCapture: ICommandCapture): void;
919
+ }
920
+ interface IStateSpyOptions {
921
+ readonly contextInformation: IContextInformation;
922
+ readonly stateNamespace: FunctionIndexer;
923
+ }
924
+ type StateSpyConstructor = {
925
+ new (options: IStateSpyOptions, logger: ILogger): IStateSpy;
926
+ };
927
+ interface IWebGlObjectSpy {
928
+ readonly contextInformation: IContextInformation;
929
+ tagWebGlObjects(functionInformation: IFunctionInformation): void;
930
+ tagWebGlObject(object: any): WebGlObjectTag;
931
+ }
932
+ interface IWebGlObjectSpyOptions {
933
+ readonly contextInformation: IContextInformation;
934
+ readonly webGlObjectNamespace: FunctionIndexer;
935
+ }
936
+ type WebGlObjectSpyConstructor = {
937
+ new (options: IWebGlObjectSpyOptions, logger: ILogger): IWebGlObjectSpy;
938
+ };
939
+ type StateData = {
940
+ [key: string]: any;
941
+ };
942
+ interface IState {
943
+ readonly stateName: string;
944
+ readonly requireStartAndStopStates: boolean;
945
+ registerCallbacks(callbacks: CommandCapturedCallbacks): void;
946
+ startCapture(loadFromContext: boolean, quickCapture: boolean): State;
947
+ stopCapture(): State;
948
+ getStateData(): StateData;
949
+ }
950
+ interface IStateOptions extends IContextInformation {
951
+ readonly stateName?: string;
952
+ }
953
+ type StateConstructor = {
954
+ new (options: IStateOptions, logger: ILogger): IState;
955
+ };
956
+ interface IExtensions extends IState {
957
+ getExtensions(): ExtensionList;
958
+ }
959
+ type ExtensionsConstructor = {
960
+ new (options: IStateOptions, logger: ILogger): IExtensions;
961
+ };
962
+ type WebGlObjectTag = {
963
+ readonly typeName: string;
964
+ readonly id: number;
965
+ displayText?: string;
966
+ customData?: any;
967
+ };
968
+ interface ICaptureAnalyser {
969
+ appendAnalyses(capture: ICapture): void;
970
+ }
971
+ interface ICaptureAnalyserOptions {
972
+ readonly contextInformation: IContextInformation;
973
+ readonly analyserNamespace: FunctionIndexer;
974
+ }
975
+ type CaptureAnalyserConstructor = {
976
+ new (options: ICaptureAnalyserOptions, logger: ILogger): ICaptureAnalyser;
977
+ };
978
+ interface ICommandComparator {
979
+ compare(commandA: ICommandCapture, commandB: ICommandCapture): ICommandCaptureComparison;
980
+ }
981
+ type CommandComparatorConstructor = {
982
+ new (logger: ILogger): ICommandComparator;
983
+ };
984
+ interface ICanvasInformation {
985
+ id: string;
986
+ width: number;
987
+ height: number;
988
+ ref: any;
989
+ }
990
+ interface ICaptureMenu {
991
+ readonly onCanvasSelected: IEvent<ICanvasInformation>;
992
+ readonly onCaptureRequested: IEvent<ICanvasInformation>;
993
+ readonly onPauseRequested: IEvent<ICanvasInformation>;
994
+ readonly onPlayRequested: IEvent<ICanvasInformation>;
995
+ readonly onPlayNextFrameRequested: IEvent<ICanvasInformation>;
996
+ display(): void;
997
+ trackPageCanvases(): void;
998
+ updateCanvasesList(canvases: NodeListOf<HTMLCanvasElement>): void;
999
+ updateCanvasesListInformation(canvasesInformation: ICanvasInformation[]): void;
1000
+ getSelectedCanvasInformation(): ICanvasInformation;
1001
+ hide(): void;
1002
+ captureComplete(errorText: string): void;
1003
+ setFPS(fps: number): void;
1004
+ }
1005
+ interface ICaptureMenuOptions {
1006
+ readonly eventConstructor: EventConstructor;
1007
+ readonly rootPlaceHolder?: Element;
1008
+ readonly canvas?: HTMLCanvasElement;
1009
+ readonly hideLog?: boolean;
1010
+ }
1011
+ type CaptureMenuConstructor = {
1012
+ new (options: ICaptureMenuOptions, logger: ILogger): ICaptureMenu;
1013
+ };
1014
+ interface ISourceCodeChangeEvent {
1015
+ sourceVertex: string;
1016
+ sourceFragment: string;
1017
+ programId: number;
1018
+ }
1019
+ interface IResultView {
1020
+ readonly onSourceCodeChanged: IEvent<ISourceCodeChangeEvent>;
1021
+ display(): void;
1022
+ hide(): void;
1023
+ addCapture(capture: ICapture): number;
1024
+ selectCapture(captureId: number): void;
1025
+ showSourceCodeError(error: string): void;
1026
+ }
1027
+ interface IResultViewOptions {
1028
+ readonly eventConstructor: EventConstructor;
1029
+ readonly rootPlaceHolder?: Element;
1030
+ }
1031
+ type ResultViewConstructor = {
1032
+ new (options: IResultViewOptions, logger: ILogger): IResultView;
1033
+ };
1034
+ type InjectionType = {
1035
+ readonly WebGlObjectNamespace: FunctionIndexer;
1036
+ readonly RecorderNamespace: FunctionIndexer;
1037
+ readonly CommandNamespace: FunctionIndexer;
1038
+ readonly StateNamespace: FunctionIndexer;
1039
+ readonly AnalyserNamespace: FunctionIndexer;
1040
+ readonly StackTraceCtor: StackTraceConstructor;
1041
+ readonly LoggerCtor: LoggerConstructor;
1042
+ readonly EventCtor: EventConstructor;
1043
+ readonly TimeCtor: TimeConstructor;
1044
+ readonly CanvasSpyCtor: CanvasSpyConstructor;
1045
+ readonly CommandSpyCtor: CommandSpyConstructor;
1046
+ readonly ContextSpyCtor: ContextSpyConstructor;
1047
+ readonly RecorderSpyCtor: RecorderSpyConstructor;
1048
+ readonly StateSpyCtor: StateSpyConstructor;
1049
+ readonly TimeSpyCtor: TimeSpyConstructor;
1050
+ readonly WebGlObjectSpyCtor: WebGlObjectSpyConstructor;
1051
+ readonly CaptureAnalyserCtor: CaptureAnalyserConstructor;
1052
+ readonly ExtensionsCtor: ExtensionsConstructor;
1053
+ readonly CapabilitiesCtor: StateConstructor;
1054
+ readonly CompressedTexturesCtor: StateConstructor;
1055
+ readonly DefaultCommandCtor: CommandConstructor;
1056
+ readonly CommandComparatorCtor: CommandComparatorConstructor;
1057
+ readonly CaptureMenuConstructor: CaptureMenuConstructor;
1058
+ readonly ResultViewConstructor: ResultViewConstructor;
1059
+ };
1060
+ interface ISpectorOptions {
1061
+ readonly injection?: InjectionType;
1062
+ }
1063
+ interface IAvailableContext {
1064
+ readonly canvas: HTMLCanvasElement;
1065
+ readonly contextSpy: IContextSpy;
1066
+ }
1067
+ export abstract class Spector {
1068
+ protected options;
1069
+ static getFirstAvailable3dContext(canvas: HTMLCanvasElement): WebGLRenderingContexts {
1070
+ return null as any;
1071
+ }
1072
+ protected static tryGetContextFromHelperField: unknown;
1073
+ protected static tryGetContextFromCanvas: unknown;
1074
+ readonly onCaptureStarted: IEvent<any>;
1075
+ readonly onCapture: IEvent<ICapture>;
1076
+ readonly onError: IEvent<string>;
1077
+ protected readonly logger;
1078
+ protected readonly timeSpy;
1079
+ protected readonly contexts;
1080
+ protected readonly injection;
1081
+ protected readonly time;
1082
+ protected canvasSpy;
1083
+ protected captureNextFrames;
1084
+ protected captureNextCommands;
1085
+ protected quickCapture;
1086
+ protected capturingContext;
1087
+ protected captureMenu;
1088
+ protected resultView;
1089
+ protected retry;
1090
+ protected noFrameTimeout;
1091
+ protected marker;
1092
+ constructor(options?: ISpectorOptions) {}
1093
+ abstract displayUI(): void;
1094
+ abstract getResultUI(): IResultView;
1095
+ abstract getCaptureUI(): ICaptureMenu;
1096
+ abstract rebuildProgramFromProgramId(
1097
+ programId: number,
1098
+ vertexSourceCode: string,
1099
+ fragmentSourceCode: string,
1100
+ onCompiled: (program: WebGLProgram) => void,
1101
+ onError: (message: string) => void
1102
+ ): void;
1103
+ abstract rebuildProgram(
1104
+ program: WebGLProgram,
1105
+ vertexSourceCode: string,
1106
+ fragmentSourceCode: string,
1107
+ onCompiled: (program: WebGLProgram) => void,
1108
+ onError: (message: string) => void
1109
+ ): void;
1110
+ abstract referenceNewProgram(programId: number, program: WebGLProgram): void;
1111
+ abstract pause(): void;
1112
+ abstract play(): void;
1113
+ abstract playNextFrame(): void;
1114
+ abstract drawOnlyEveryXFrame(x: number): void;
1115
+ abstract getFps(): number;
1116
+ abstract spyCanvases(): void;
1117
+ abstract spyCanvas(canvas: HTMLCanvasElement): void;
1118
+ abstract getAvailableContexts(): IAvailableContext[];
1119
+ abstract captureCanvas(
1120
+ canvas: HTMLCanvasElement,
1121
+ commandCount?: number,
1122
+ quickCapture?: boolean
1123
+ ): void;
1124
+ abstract captureContext(
1125
+ context: WebGLRenderingContexts,
1126
+ commandCount?: number,
1127
+ quickCapture?: boolean
1128
+ ): void;
1129
+ abstract captureContextSpy(
1130
+ contextSpy: IContextSpy,
1131
+ commandCount?: number,
1132
+ quickCapture?: boolean
1133
+ ): void;
1134
+ abstract captureNextFrame(
1135
+ obj: HTMLCanvasElement | WebGLRenderingContexts,
1136
+ quickCapture?: boolean
1137
+ ): void;
1138
+ abstract startCapture(
1139
+ obj: HTMLCanvasElement | WebGLRenderingContexts,
1140
+ commandCount: number,
1141
+ quickCapture?: boolean
1142
+ ): void;
1143
+ abstract stopCapture(): ICapture;
1144
+ abstract setMarker(marker: string): void;
1145
+ abstract clearMarker(): void;
1146
+ protected captureFrames;
1147
+ protected captureCommands;
1148
+ protected spyContext;
1149
+ protected getAvailableContextSpyByCanvas;
1150
+ protected onFrameStart;
1151
+ protected onFrameEnd;
1152
+ protected triggerCapture;
1153
+ protected onErrorInternal;
1154
+ }