@lightningjs/renderer 0.7.2 → 0.7.4

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 (195) 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.d.ts +1 -1
  15. package/dist/src/core/lib/ImageWorker.js +30 -22
  16. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  17. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  18. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +47 -47
  19. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  20. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  21. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  22. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +49 -49
  23. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  24. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +5 -5
  25. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  26. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  27. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  28. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  29. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  30. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  31. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +31 -31
  32. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +13 -13
  33. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  34. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  35. package/dist/src/core/textures/ImageTexture.d.ts +2 -1
  36. package/dist/src/core/textures/ImageTexture.js +7 -2
  37. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  38. package/dist/src/core/textures/Texture.d.ts +1 -1
  39. package/dist/src/main-api/ICoreDriver.d.ts +2 -1
  40. package/dist/src/main-api/Inspector.d.ts +6 -0
  41. package/dist/src/main-api/Inspector.js +105 -19
  42. package/dist/src/main-api/Inspector.js.map +1 -1
  43. package/dist/src/main-api/RendererMain.d.ts +12 -0
  44. package/dist/src/main-api/RendererMain.js +19 -1
  45. package/dist/src/main-api/RendererMain.js.map +1 -1
  46. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +2 -1
  47. package/dist/src/render-drivers/main/MainCoreDriver.js +7 -1
  48. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  49. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +2 -1
  50. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +7 -0
  51. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  52. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +9 -1
  53. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -1
  54. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  55. package/exports/core-api.ts +102 -102
  56. package/exports/main-api.ts +60 -60
  57. package/exports/utils.ts +41 -41
  58. package/package.json +5 -3
  59. package/scripts/please-use-pnpm.js +13 -0
  60. package/src/common/CommonTypes.ts +113 -105
  61. package/src/common/EventEmitter.ts +77 -77
  62. package/src/common/IAnimationController.ts +29 -29
  63. package/src/core/CoreExtension.ts +32 -32
  64. package/src/core/CoreNode.ts +926 -926
  65. package/src/core/CoreShaderManager.ts +243 -243
  66. package/src/core/CoreTextNode.ts +391 -391
  67. package/src/core/CoreTextureManager.ts +326 -326
  68. package/src/core/Stage.ts +354 -342
  69. package/src/core/animations/AnimationManager.ts +38 -38
  70. package/src/core/animations/CoreAnimation.ts +181 -177
  71. package/src/core/animations/CoreAnimationController.ts +148 -117
  72. package/src/core/lib/ContextSpy.ts +41 -41
  73. package/src/core/lib/ImageWorker.ts +135 -124
  74. package/src/core/lib/Matrix3d.ts +290 -290
  75. package/src/core/lib/WebGlContextWrapper.ts +992 -992
  76. package/src/core/lib/textureCompression.ts +152 -152
  77. package/src/core/lib/utils.ts +241 -241
  78. package/src/core/platform.ts +46 -46
  79. package/src/core/renderers/CoreContextTexture.ts +30 -30
  80. package/src/core/renderers/CoreRenderOp.ts +22 -22
  81. package/src/core/renderers/CoreRenderer.ts +63 -63
  82. package/src/core/renderers/CoreShader.ts +41 -41
  83. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +37 -37
  84. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +230 -231
  85. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +107 -107
  86. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +520 -520
  87. package/src/core/renderers/webgl/WebGlCoreShader.ts +337 -337
  88. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  89. package/src/core/renderers/webgl/internal/RendererUtils.ts +131 -131
  90. package/src/core/renderers/webgl/internal/ShaderUtils.ts +136 -136
  91. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  92. package/src/core/renderers/webgl/shaders/DefaultShader.ts +95 -95
  93. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  94. package/src/core/renderers/webgl/shaders/DynamicShader.ts +474 -474
  95. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +161 -161
  96. package/src/core/renderers/webgl/shaders/SdfShader.ts +174 -174
  97. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  98. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +86 -86
  99. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  100. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  101. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  102. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +33 -33
  103. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +135 -135
  104. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +145 -145
  105. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  106. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +176 -176
  107. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +159 -159
  108. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +186 -186
  109. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +121 -121
  110. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +114 -114
  111. package/src/core/text-rendering/TextTextureRendererUtils.ts +189 -189
  112. package/src/core/text-rendering/TrFontManager.ts +96 -96
  113. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +141 -141
  114. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  115. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  116. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +169 -169
  117. package/src/core/text-rendering/font-face-types/TrFontFace.ts +105 -105
  118. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +77 -77
  119. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +751 -751
  120. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +741 -741
  121. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +775 -775
  122. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  123. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  124. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  125. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  126. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +84 -84
  127. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  128. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  129. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +393 -393
  130. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  131. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +51 -51
  132. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  133. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  134. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  135. package/src/core/text-rendering/renderers/TextRenderer.ts +504 -504
  136. package/src/core/textures/ColorTexture.ts +86 -86
  137. package/src/core/textures/ImageTexture.ts +140 -133
  138. package/src/core/textures/NoiseTexture.ts +96 -96
  139. package/src/core/textures/SubTexture.ts +143 -143
  140. package/src/core/textures/Texture.ts +218 -218
  141. package/src/core/utils.ts +224 -224
  142. package/src/env.d.ts +7 -7
  143. package/src/main-api/ICoreDriver.ts +66 -61
  144. package/src/main-api/INode.ts +470 -470
  145. package/src/main-api/Inspector.ts +432 -0
  146. package/src/main-api/RendererMain.ts +649 -610
  147. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +45 -45
  148. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +154 -154
  149. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +54 -54
  150. package/src/render-drivers/main/MainCoreDriver.ts +148 -133
  151. package/src/render-drivers/main/MainOnlyNode.ts +453 -453
  152. package/src/render-drivers/main/MainOnlyTextNode.ts +261 -261
  153. package/src/render-drivers/threadx/NodeStruct.ts +300 -300
  154. package/src/render-drivers/threadx/SharedNode.ts +97 -97
  155. package/src/render-drivers/threadx/TextNodeStruct.ts +211 -211
  156. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +285 -273
  157. package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +99 -99
  158. package/src/render-drivers/threadx/ThreadXMainNode.ts +178 -178
  159. package/src/render-drivers/threadx/ThreadXMainTextNode.ts +85 -85
  160. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +110 -97
  161. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +238 -238
  162. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +149 -149
  163. package/src/render-drivers/threadx/worker/renderer.ts +151 -151
  164. package/src/render-drivers/utils.ts +57 -57
  165. package/src/utils.ts +207 -207
  166. package/dist/src/core/lib/WebGlContext.d.ts +0 -414
  167. package/dist/src/core/lib/WebGlContext.js +0 -640
  168. package/dist/src/core/lib/WebGlContext.js.map +0 -1
  169. package/dist/src/core/scene/Scene.d.ts +0 -59
  170. package/dist/src/core/scene/Scene.js +0 -106
  171. package/dist/src/core/scene/Scene.js.map +0 -1
  172. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.d.ts +0 -8
  173. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js +0 -29
  174. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js.map +0 -1
  175. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.d.ts +0 -19
  176. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js +0 -84
  177. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js.map +0 -1
  178. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.d.ts +0 -8
  179. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js +0 -40
  180. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js.map +0 -1
  181. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.d.ts +0 -2
  182. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js +0 -41
  183. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js.map +0 -1
  184. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.d.ts +0 -1
  185. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js +0 -4
  186. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js.map +0 -1
  187. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.d.ts +0 -1
  188. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js +0 -2
  189. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js.map +0 -1
  190. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
  191. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
  192. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
  193. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.d.ts +0 -9
  194. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js +0 -32
  195. 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 {};