@lightningjs/renderer 0.7.2 → 0.7.3

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 (188) hide show
  1. package/COPYING +1 -0
  2. package/LICENSE +202 -202
  3. package/NOTICE +3 -3
  4. package/README.md +221 -221
  5. package/dist/src/common/CommonTypes.d.ts +7 -0
  6. package/dist/src/core/Stage.d.ts +2 -1
  7. package/dist/src/core/Stage.js +4 -0
  8. package/dist/src/core/Stage.js.map +1 -1
  9. package/dist/src/core/animations/CoreAnimation.js +3 -0
  10. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  11. package/dist/src/core/animations/CoreAnimationController.d.ts +8 -0
  12. package/dist/src/core/animations/CoreAnimationController.js +26 -0
  13. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  14. package/dist/src/core/lib/ImageWorker.js +21 -21
  15. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +47 -47
  16. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  17. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  18. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  19. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +49 -49
  20. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  21. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +5 -5
  22. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  23. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  24. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  25. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  26. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  27. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  28. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +31 -31
  29. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +13 -13
  30. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  31. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  32. package/dist/src/main-api/ICoreDriver.d.ts +2 -1
  33. package/dist/src/main-api/Inspector.d.ts +6 -0
  34. package/dist/src/main-api/Inspector.js +105 -19
  35. package/dist/src/main-api/Inspector.js.map +1 -1
  36. package/dist/src/main-api/RendererMain.d.ts +12 -0
  37. package/dist/src/main-api/RendererMain.js +19 -1
  38. package/dist/src/main-api/RendererMain.js.map +1 -1
  39. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +2 -1
  40. package/dist/src/render-drivers/main/MainCoreDriver.js +7 -1
  41. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  42. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +2 -1
  43. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +7 -0
  44. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  45. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +9 -1
  46. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -1
  47. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  48. package/exports/core-api.ts +102 -102
  49. package/exports/main-api.ts +60 -60
  50. package/exports/utils.ts +41 -41
  51. package/package.json +5 -3
  52. package/scripts/please-use-pnpm.js +13 -0
  53. package/src/common/CommonTypes.ts +113 -105
  54. package/src/common/EventEmitter.ts +77 -77
  55. package/src/common/IAnimationController.ts +29 -29
  56. package/src/core/CoreExtension.ts +32 -32
  57. package/src/core/CoreNode.ts +926 -926
  58. package/src/core/CoreShaderManager.ts +243 -243
  59. package/src/core/CoreTextNode.ts +391 -391
  60. package/src/core/CoreTextureManager.ts +326 -326
  61. package/src/core/Stage.ts +354 -342
  62. package/src/core/animations/AnimationManager.ts +38 -38
  63. package/src/core/animations/CoreAnimation.ts +181 -177
  64. package/src/core/animations/CoreAnimationController.ts +148 -117
  65. package/src/core/lib/ContextSpy.ts +41 -41
  66. package/src/core/lib/ImageWorker.ts +124 -124
  67. package/src/core/lib/Matrix3d.ts +290 -290
  68. package/src/core/lib/WebGlContextWrapper.ts +992 -992
  69. package/src/core/lib/textureCompression.ts +152 -152
  70. package/src/core/lib/utils.ts +241 -241
  71. package/src/core/platform.ts +46 -46
  72. package/src/core/renderers/CoreContextTexture.ts +30 -30
  73. package/src/core/renderers/CoreRenderOp.ts +22 -22
  74. package/src/core/renderers/CoreRenderer.ts +63 -63
  75. package/src/core/renderers/CoreShader.ts +41 -41
  76. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +37 -37
  77. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +231 -231
  78. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +107 -107
  79. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +520 -520
  80. package/src/core/renderers/webgl/WebGlCoreShader.ts +337 -337
  81. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  82. package/src/core/renderers/webgl/internal/RendererUtils.ts +131 -131
  83. package/src/core/renderers/webgl/internal/ShaderUtils.ts +136 -136
  84. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  85. package/src/core/renderers/webgl/shaders/DefaultShader.ts +95 -95
  86. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  87. package/src/core/renderers/webgl/shaders/DynamicShader.ts +474 -474
  88. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +161 -161
  89. package/src/core/renderers/webgl/shaders/SdfShader.ts +174 -174
  90. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  91. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +86 -86
  92. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  93. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  94. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  95. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +33 -33
  96. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +135 -135
  97. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +145 -145
  98. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  99. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +176 -176
  100. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +159 -159
  101. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +186 -186
  102. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +121 -121
  103. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +114 -114
  104. package/src/core/text-rendering/TextTextureRendererUtils.ts +189 -189
  105. package/src/core/text-rendering/TrFontManager.ts +96 -96
  106. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +141 -141
  107. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  108. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  109. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +169 -169
  110. package/src/core/text-rendering/font-face-types/TrFontFace.ts +105 -105
  111. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +77 -77
  112. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +751 -751
  113. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +741 -741
  114. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +775 -775
  115. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  116. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  117. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  118. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  119. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +84 -84
  120. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  121. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  122. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +393 -393
  123. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  124. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +51 -51
  125. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  126. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  127. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  128. package/src/core/text-rendering/renderers/TextRenderer.ts +504 -504
  129. package/src/core/textures/ColorTexture.ts +86 -86
  130. package/src/core/textures/ImageTexture.ts +133 -133
  131. package/src/core/textures/NoiseTexture.ts +96 -96
  132. package/src/core/textures/SubTexture.ts +143 -143
  133. package/src/core/textures/Texture.ts +218 -218
  134. package/src/core/utils.ts +224 -224
  135. package/src/env.d.ts +7 -7
  136. package/src/main-api/ICoreDriver.ts +66 -61
  137. package/src/main-api/INode.ts +470 -470
  138. package/src/main-api/Inspector.ts +432 -0
  139. package/src/main-api/RendererMain.ts +649 -610
  140. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +45 -45
  141. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +154 -154
  142. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +54 -54
  143. package/src/render-drivers/main/MainCoreDriver.ts +148 -133
  144. package/src/render-drivers/main/MainOnlyNode.ts +453 -453
  145. package/src/render-drivers/main/MainOnlyTextNode.ts +261 -261
  146. package/src/render-drivers/threadx/NodeStruct.ts +300 -300
  147. package/src/render-drivers/threadx/SharedNode.ts +97 -97
  148. package/src/render-drivers/threadx/TextNodeStruct.ts +211 -211
  149. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +285 -273
  150. package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +99 -99
  151. package/src/render-drivers/threadx/ThreadXMainNode.ts +178 -178
  152. package/src/render-drivers/threadx/ThreadXMainTextNode.ts +85 -85
  153. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +110 -97
  154. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +238 -238
  155. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +149 -149
  156. package/src/render-drivers/threadx/worker/renderer.ts +151 -151
  157. package/src/render-drivers/utils.ts +57 -57
  158. package/src/utils.ts +207 -207
  159. package/dist/src/core/lib/WebGlContext.d.ts +0 -414
  160. package/dist/src/core/lib/WebGlContext.js +0 -640
  161. package/dist/src/core/lib/WebGlContext.js.map +0 -1
  162. package/dist/src/core/scene/Scene.d.ts +0 -59
  163. package/dist/src/core/scene/Scene.js +0 -106
  164. package/dist/src/core/scene/Scene.js.map +0 -1
  165. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.d.ts +0 -8
  166. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js +0 -29
  167. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js.map +0 -1
  168. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.d.ts +0 -19
  169. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js +0 -84
  170. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js.map +0 -1
  171. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.d.ts +0 -8
  172. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js +0 -40
  173. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js.map +0 -1
  174. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.d.ts +0 -2
  175. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js +0 -41
  176. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js.map +0 -1
  177. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.d.ts +0 -1
  178. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js +0 -4
  179. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js.map +0 -1
  180. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.d.ts +0 -1
  181. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js +0 -2
  182. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js.map +0 -1
  183. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
  184. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
  185. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
  186. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.d.ts +0 -9
  187. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js +0 -32
  188. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js.map +0 -1
@@ -1,414 +0,0 @@
1
- export declare class WebGlContext {
2
- private gl;
3
- private activeTextureUnit;
4
- private texture2dUnits;
5
- private texture2dParams;
6
- private scissorEnabled;
7
- private scissorX;
8
- private scissorY;
9
- private scissorWidth;
10
- private scissorHeight;
11
- private blendEnabled;
12
- private blendSrcRgb;
13
- private blendDstRgb;
14
- private blendSrcAlpha;
15
- private blendDstAlpha;
16
- private boundArrayBuffer;
17
- private boundElementArrayBuffer;
18
- private curProgram;
19
- private programUniforms;
20
- constructor(gl: WebGLRenderingContext | WebGL2RenderingContext);
21
- /**
22
- * ```
23
- * gl.activeTexture(textureUnit + gl.TEXTURE0);
24
- * ```
25
- *
26
- * @remarks
27
- * **WebGL Difference**: `textureUnit` is based from 0, not `gl.TEXTURE0`.
28
- *
29
- * @param textureUnit
30
- */
31
- activeTexture(textureUnit: number): void;
32
- /**
33
- * ```
34
- * gl.bindTexture(gl.TEXTURE_2D, texture);
35
- * ```
36
- * @remarks
37
- * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
38
- *
39
- * @param texture
40
- */
41
- bindTexture(texture: WebGLTexture | null): void;
42
- private _getActiveTexture;
43
- /**
44
- * ```
45
- * gl.texParameteri(gl.TEXTURE_2D, pname, param)
46
- * ```
47
- * @remarks
48
- * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
49
- *
50
- * @param pname
51
- * @param param
52
- * @returns
53
- */
54
- texParameteri(pname: number, param: number): void;
55
- /**
56
- * ```
57
- * gl.texImage2D(
58
- * gl.TEXTURE_2D,
59
- * level,
60
- * internalFormat,
61
- * width,
62
- * height,
63
- * border,
64
- * format,
65
- * type,
66
- * pixels,
67
- * );
68
- * ```
69
- * @remarks
70
- * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
71
- *
72
- * @param level
73
- * @param internalFormat
74
- * @param width
75
- * @param height
76
- * @param border
77
- * @param format
78
- * @param type
79
- * @param pixels
80
- */
81
- texImage2D(level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
82
- texImage2D(level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;
83
- /**
84
- * ```
85
- * gl.pixelStorei(pname, param);
86
- * ```
87
- *
88
- * @param pname
89
- * @param param
90
- */
91
- pixelStorei(pname: GLenum, param: GLint | GLboolean): void;
92
- /**
93
- * ```
94
- * gl.generateMipmap(gl.TEXTURE_2D);
95
- * ```
96
- *
97
- * @remarks
98
- * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
99
- */
100
- generateMipmap(): void;
101
- /**
102
- * ```
103
- * gl.createTexture();
104
- * ```
105
- *
106
- * @returns
107
- */
108
- createTexture(): WebGLTexture | null;
109
- /**
110
- * ```
111
- * gl.deleteTexture(texture);
112
- * ```
113
- *
114
- * @param texture
115
- */
116
- deleteTexture(texture: WebGLTexture | null): void;
117
- /**
118
- * ```
119
- * gl.viewport(x, y, width, height);
120
- * ```
121
- */
122
- viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
123
- /**
124
- * ```
125
- * gl.clearColor(red, green, blue, alpha);
126
- * ```
127
- *
128
- * @param red
129
- * @param green
130
- * @param blue
131
- * @param alpha
132
- */
133
- clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
134
- /**
135
- * ```
136
- * gl["enable"|"disable"](gl.SCISSOR_TEST);
137
- * ```
138
- * @param enable
139
- */
140
- scissorTest(enable: boolean): void;
141
- /**
142
- * ```
143
- * gl.scissor(x, y, width, height);
144
- * ```
145
- *
146
- * @param x
147
- * @param y
148
- * @param width
149
- * @param height
150
- */
151
- scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
152
- /**
153
- * ```
154
- * gl["enable"|"disable"](gl.BLEND);
155
- * ```
156
- *
157
- * @param blend
158
- * @returns
159
- */
160
- setBlend(blend: boolean): void;
161
- /**
162
- * ```
163
- * gl.blendFunc(src, dst);
164
- * ```
165
- *
166
- * @param src
167
- * @param dst
168
- */
169
- blendFunc(src: GLenum, dst: GLenum): void;
170
- /**
171
- * ```
172
- * createBuffer();
173
- * ```
174
- *
175
- * @returns
176
- */
177
- createBuffer(): WebGLBuffer | null;
178
- /**
179
- * ```
180
- * gl.clear(gl.COLOR_BUFFER_BIT);
181
- * ```
182
- *
183
- * @remarks
184
- * **WebGL Difference**: Clear mask is always `gl.COLOR_BUFFER_BIT`
185
- */
186
- clear(): void;
187
- /**
188
- * ```
189
- * gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
190
- * gl.bufferData(gl.ARRAY_BUFFER, data, usage);
191
- * ```
192
- *
193
- * @remarks
194
- * **WebGL Combo**: `gl.bindBuffer` and `gl.bufferData` are combined into one function.
195
- *
196
- * @param buffer
197
- * @param data
198
- * @param usage
199
- */
200
- arrayBufferData(buffer: WebGLBuffer | null, data: ArrayBufferView, usage: GLenum): void;
201
- /**
202
- * ```
203
- * gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
204
- * gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
205
- * ```
206
- * @remarks
207
- * **WebGL Combo**: `gl.bindBuffer` and `gl.bufferData` are combined into one function.
208
- *
209
- * @param buffer
210
- * @param data
211
- * @param usage
212
- */
213
- elementArrayBufferData(buffer: WebGLBuffer | null, data: ArrayBufferView, usage: GLenum): void;
214
- /**
215
- * ```
216
- * gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
217
- * gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
218
- * ```
219
- *
220
- * @remarks
221
- * **WebGL Combo**: `gl.bindBuffer` and `gl.vertexAttribPointer` are combined into one function.
222
- *
223
- * @param buffer
224
- * @param index
225
- * @param size
226
- * @param type
227
- * @param normalized
228
- * @param stride
229
- * @param offset
230
- */
231
- vertexAttribPointer(buffer: WebGLBuffer, index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;
232
- /**
233
- * ```
234
- * gl.useProgram(program);
235
- * ```
236
- *
237
- * @param program
238
- * @returns
239
- */
240
- useProgram(program: WebGLProgram | null): void;
241
- setUniform<T extends keyof UniformMethodMap>(type: T, location: WebGLUniformLocation, ...args: UniformMethodMap[T]): void;
242
- /**
243
- * ```
244
- * gl.getParameter(pname);
245
- * ```
246
- *
247
- * @param pname
248
- * @returns
249
- */
250
- getParameter(pname: GLenum): any;
251
- /**
252
- * ```
253
- * gl.drawElements(mode, count, type, offset);
254
- * ```
255
- *
256
- * @param mode
257
- * @param count
258
- * @param type
259
- * @param offset
260
- */
261
- drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;
262
- /**
263
- * ```
264
- * gl.drawArrays(mode, first, count);
265
- * ```
266
- *
267
- * @param name
268
- * @returns
269
- */
270
- getExtension(name: string): any;
271
- /**
272
- * ```
273
- * gl.createVertexArray();
274
- * ```
275
- *
276
- * @returns
277
- */
278
- createVertexArray(): WebGLVertexArrayObject | null;
279
- /**
280
- * ```
281
- * gl.bindVertexArray(vertexArray);
282
- * ```
283
- *
284
- * @param vertexArray
285
- */
286
- bindVertexArray(vertexArray: WebGLVertexArrayObject | null): void;
287
- /**
288
- * ```
289
- * gl.getAttribLocation(program, name);
290
- * ```
291
- *
292
- * @param program
293
- * @param name
294
- * @returns
295
- */
296
- getAttribLocation(program: WebGLProgram, name: string): number;
297
- /**
298
- * ```
299
- * gl.getUniformLocation(program, name);
300
- * ```
301
- *
302
- * @param program
303
- * @param name
304
- * @returns
305
- */
306
- getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;
307
- /**
308
- * ```
309
- * gl.enableVertexAttribArray(index);
310
- * ```
311
- *
312
- * @param index
313
- */
314
- enableVertexAttribArray(index: number): void;
315
- /**
316
- * ```
317
- * gl.disableVertexAttribArray(index);
318
- * ```
319
- *
320
- * @param index
321
- */
322
- disableVertexAttribArray(index: number): void;
323
- /**
324
- * ```
325
- * gl.createShader(type);
326
- * ```
327
- *
328
- * @param type
329
- * @returns
330
- */
331
- createShader(type: number): WebGLShader | null;
332
- /**
333
- * ```
334
- * gl.compileShader(shader);
335
- * ```
336
- *
337
- * @param shader
338
- * @returns
339
- */
340
- compileShader(shader: WebGLShader): void;
341
- /**
342
- * ```
343
- * gl.attachShader(program, shader);
344
- * ```
345
- *
346
- * @param program
347
- * @param shader
348
- */
349
- attachShader(program: WebGLProgram, shader: WebGLShader): void;
350
- /**
351
- * ```
352
- * gl.linkProgram(program);
353
- * ```
354
- *
355
- * @param program
356
- */
357
- linkProgram(program: WebGLProgram): void;
358
- /**
359
- * ```
360
- * gl.deleteProgram(shader);
361
- * ```
362
- *
363
- * @param shader
364
- */
365
- deleteProgram(shader: WebGLProgram): void;
366
- /**
367
- * ```
368
- * gl.getShaderParameter(shader, pname);
369
- * ```
370
- *
371
- * @param shader
372
- * @param pname
373
- */
374
- getShaderParameter(shader: WebGLShader, pname: GLenum): any;
375
- /**
376
- * ```
377
- * gl.getShaderInfoLog(shader);
378
- * ```
379
- *
380
- * @param shader
381
- */
382
- getShaderInfoLog(shader: WebGLShader): string | null;
383
- /**
384
- * ```
385
- * gl.createProgram();
386
- * ```
387
- *
388
- * @returns
389
- */
390
- createProgram(): WebGLProgram | null;
391
- /**
392
- * ```
393
- * gl.getProgramParameter(program, pname);
394
- * ```
395
- *
396
- * @param program
397
- * @param pname
398
- * @returns
399
- */
400
- getProgramParameter(program: WebGLProgram, pname: GLenum): any;
401
- }
402
- type IsUniformMethod<MethodName, MethodType> = MethodName extends `uniform${string}` ? MethodType extends (location: WebGLUniformLocation | null, ...args: any[]) => void ? true : false : false;
403
- export type UniformMethodMap = {
404
- [Key in keyof WebGLRenderingContext as IsUniformMethod<Key, WebGLRenderingContext[Key]> extends true ? Key : never]: WebGLRenderingContext[Key] extends (location: WebGLUniformLocation | null, ...args: infer T) => void ? T : never;
405
- };
406
- /**
407
- *
408
- *
409
- * @param a
410
- * @param b
411
- * @returns
412
- */
413
- export declare function compareArrays<T>(a: T[], b: T[]): boolean;
414
- export {};