@lightningjs/renderer 2.1.1 → 2.2.0

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 (194) hide show
  1. package/README.md +1 -4
  2. package/dist/exports/core-api.d.ts +74 -0
  3. package/dist/exports/core-api.js +96 -0
  4. package/dist/exports/core-api.js.map +1 -0
  5. package/dist/exports/index.d.ts +1 -0
  6. package/dist/exports/index.js +1 -0
  7. package/dist/exports/index.js.map +1 -1
  8. package/dist/exports/main-api.d.ts +30 -0
  9. package/dist/exports/main-api.js +45 -0
  10. package/dist/exports/main-api.js.map +1 -0
  11. package/dist/src/core/CoreExtension.d.ts +12 -0
  12. package/dist/src/core/CoreExtension.js +29 -0
  13. package/dist/src/core/CoreExtension.js.map +1 -0
  14. package/dist/src/core/CoreNode.d.ts +2 -2
  15. package/dist/src/core/CoreNode.js +57 -47
  16. package/dist/src/core/CoreNode.js.map +1 -1
  17. package/dist/src/core/CoreShaderManager.js +1 -0
  18. package/dist/src/core/CoreShaderManager.js.map +1 -1
  19. package/dist/src/core/Matrix2DContext.d.ts +15 -0
  20. package/dist/src/core/Matrix2DContext.js +45 -0
  21. package/dist/src/core/Matrix2DContext.js.map +1 -0
  22. package/dist/src/core/lib/SpatialHash.d.ts +38 -0
  23. package/dist/src/core/lib/SpatialHash.js +93 -0
  24. package/dist/src/core/lib/SpatialHash.js.map +1 -0
  25. package/dist/src/core/lib/WebGlContextWrapper.d.ts +144 -2
  26. package/dist/src/core/lib/WebGlContextWrapper.js +211 -20
  27. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  28. package/dist/src/core/lib/glm/common.d.ts +162 -0
  29. package/dist/src/core/lib/glm/common.js +81 -0
  30. package/dist/src/core/lib/glm/common.js.map +1 -0
  31. package/dist/src/core/lib/glm/index.d.ts +11 -0
  32. package/dist/src/core/lib/glm/index.js +30 -0
  33. package/dist/src/core/lib/glm/index.js.map +1 -0
  34. package/dist/src/core/lib/glm/mat2.d.ts +219 -0
  35. package/dist/src/core/lib/glm/mat2.js +396 -0
  36. package/dist/src/core/lib/glm/mat2.js.map +1 -0
  37. package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
  38. package/dist/src/core/lib/glm/mat2d.js +442 -0
  39. package/dist/src/core/lib/glm/mat2d.js.map +1 -0
  40. package/dist/src/core/lib/glm/mat3.d.ts +283 -0
  41. package/dist/src/core/lib/glm/mat3.js +680 -0
  42. package/dist/src/core/lib/glm/mat3.js.map +1 -0
  43. package/dist/src/core/lib/glm/mat4.d.ts +550 -0
  44. package/dist/src/core/lib/glm/mat4.js +1802 -0
  45. package/dist/src/core/lib/glm/mat4.js.map +1 -0
  46. package/dist/src/core/lib/glm/quat.d.ts +363 -0
  47. package/dist/src/core/lib/glm/quat.js +693 -0
  48. package/dist/src/core/lib/glm/quat.js.map +1 -0
  49. package/dist/src/core/lib/glm/quat2.d.ts +356 -0
  50. package/dist/src/core/lib/glm/quat2.js +754 -0
  51. package/dist/src/core/lib/glm/quat2.js.map +1 -0
  52. package/dist/src/core/lib/glm/vec2.d.ts +365 -0
  53. package/dist/src/core/lib/glm/vec2.js +569 -0
  54. package/dist/src/core/lib/glm/vec2.js.map +1 -0
  55. package/dist/src/core/lib/glm/vec3.d.ts +406 -0
  56. package/dist/src/core/lib/glm/vec3.js +720 -0
  57. package/dist/src/core/lib/glm/vec3.js.map +1 -0
  58. package/dist/src/core/lib/glm/vec4.d.ts +330 -0
  59. package/dist/src/core/lib/glm/vec4.js +608 -0
  60. package/dist/src/core/lib/glm/vec4.js.map +1 -0
  61. package/dist/src/core/lib/renderToTexture.d.ts +1 -0
  62. package/dist/src/core/lib/renderToTexture.js +2 -0
  63. package/dist/src/core/lib/renderToTexture.js.map +1 -0
  64. package/dist/src/core/lib/textcompression-utils.d.ts +1 -0
  65. package/dist/src/core/lib/textcompression-utils.js +2 -0
  66. package/dist/src/core/lib/textcompression-utils.js.map +1 -0
  67. package/dist/src/core/lib/txcompression-utils.d.ts +1 -0
  68. package/dist/src/core/lib/txcompression-utils.js +2 -0
  69. package/dist/src/core/lib/txcompression-utils.js.map +1 -0
  70. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +3 -2
  71. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  72. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +1 -1
  73. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +8 -9
  74. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  75. package/dist/src/core/renderers/webgl/WebGlRenderTexture.d.ts +29 -0
  76. package/dist/src/core/renderers/webgl/WebGlRenderTexture.js +86 -0
  77. package/dist/src/core/renderers/webgl/WebGlRenderTexture.js.map +1 -0
  78. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +1 -1
  79. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -1
  80. package/dist/src/core/renderers/webgl/shaders/DistortShader.d.ts +44 -0
  81. package/dist/src/core/renderers/webgl/shaders/DistortShader.js +172 -0
  82. package/dist/src/core/renderers/webgl/shaders/DistortShader.js.map +1 -0
  83. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +2 -1
  84. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +55 -2
  85. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  86. package/dist/src/core/renderers/webgl/shaders/RefractionShader.d.ts +78 -0
  87. package/dist/src/core/renderers/webgl/shaders/RefractionShader.js +172 -0
  88. package/dist/src/core/renderers/webgl/shaders/RefractionShader.js.map +1 -0
  89. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +1 -1
  90. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
  91. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +6 -6
  92. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  93. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +2 -0
  94. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -1
  95. package/dist/src/core/scene/Scene.d.ts +59 -0
  96. package/dist/src/core/scene/Scene.js +106 -0
  97. package/dist/src/core/scene/Scene.js.map +1 -0
  98. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
  99. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
  100. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
  101. package/dist/src/core/text-rendering/renderers/TextRenderer.js +12 -9
  102. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  103. package/dist/src/main-api/ICoreDriver.d.ts +24 -0
  104. package/dist/src/main-api/ICoreDriver.js +20 -0
  105. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  106. package/dist/src/main-api/IRenderDriver.d.ts +20 -0
  107. package/dist/src/main-api/IRenderDriver.js +20 -0
  108. package/dist/src/main-api/IRenderDriver.js.map +1 -0
  109. package/dist/src/main-api/IShaderController.d.ts +14 -0
  110. package/dist/src/main-api/IShaderController.js +30 -0
  111. package/dist/src/main-api/IShaderController.js.map +1 -0
  112. package/dist/src/main-api/RendererMain.d.ts +378 -0
  113. package/dist/src/main-api/RendererMain.js +367 -0
  114. package/dist/src/main-api/RendererMain.js.map +1 -0
  115. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
  116. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
  117. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
  118. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
  119. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
  120. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
  121. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
  122. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
  123. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
  124. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +21 -0
  125. package/dist/src/render-drivers/main/MainCoreDriver.js +115 -0
  126. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  127. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +101 -0
  128. package/dist/src/render-drivers/main/MainOnlyNode.js +425 -0
  129. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
  130. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
  131. package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
  132. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
  133. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
  134. package/dist/src/render-drivers/main/MainOnlyTextNode.js +204 -0
  135. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
  136. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
  137. package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
  138. package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
  139. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +93 -0
  140. package/dist/src/render-drivers/threadx/NodeStruct.js +290 -0
  141. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
  142. package/dist/src/render-drivers/threadx/SharedNode.d.ts +40 -0
  143. package/dist/src/render-drivers/threadx/SharedNode.js +61 -0
  144. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
  145. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
  146. package/dist/src/render-drivers/threadx/TextNodeStruct.js +203 -0
  147. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
  148. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +25 -0
  149. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +232 -0
  150. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  151. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
  152. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
  153. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
  154. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +46 -0
  155. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +160 -0
  156. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
  157. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
  158. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +15 -0
  159. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
  160. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
  161. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
  162. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
  163. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
  164. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
  165. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
  166. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
  167. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
  168. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
  169. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
  170. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +178 -0
  171. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
  172. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
  173. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +109 -0
  174. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
  175. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
  176. package/dist/src/render-drivers/threadx/worker/renderer.js +147 -0
  177. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
  178. package/dist/src/render-drivers/utils.d.ts +12 -0
  179. package/dist/src/render-drivers/utils.js +69 -0
  180. package/dist/src/render-drivers/utils.js.map +1 -0
  181. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  182. package/exports/index.ts +1 -0
  183. package/package.json +1 -1
  184. package/src/core/CoreNode.ts +69 -54
  185. package/src/core/CoreShaderManager.ts +1 -0
  186. package/src/core/lib/WebGlContextWrapper.ts +288 -26
  187. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +3 -2
  188. package/src/core/renderers/webgl/WebGlCoreShader.ts +21 -17
  189. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +1 -1
  190. package/src/core/renderers/webgl/shaders/DynamicShader.ts +75 -3
  191. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +4 -1
  192. package/src/core/renderers/webgl/shaders/SdfShader.ts +21 -6
  193. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +3 -0
  194. package/src/core/text-rendering/renderers/TextRenderer.ts +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ export declare abstract class WebGlCoreShader extends CoreShader {
73
73
  */
74
74
  canBatchShaderProps(propsA: Record<string, unknown>, propsB: Record<string, unknown>): boolean;
75
75
  bindRenderOp(renderOp: WebGlCoreRenderOp, props: Record<string, unknown> | null): void;
76
- setUniform(name: string, ...value: any[]): void;
76
+ getUniformLocation(name: string): WebGLUniformLocation | null;
77
77
  bindBufferCollection(buffer: BufferCollection): void;
78
78
  protected bindProps(props: Record<string, unknown>): void;
79
79
  bindTextures(textures: WebGlCoreCtxTexture[]): void;
@@ -170,13 +170,13 @@ export class WebGlCoreShader extends CoreShader {
170
170
  const { width, height } = renderOp.framebufferDimensions || {};
171
171
  // Force pixel ratio to 1.0 for render textures since they are always 1:1
172
172
  // the final render texture will be rendered to the screen with the correct pixel ratio
173
- this.setUniform('u_pixelRatio', 1.0);
173
+ glw.uniform1f(this.getUniformLocation('u_pixelRatio'), 1.0);
174
174
  // Set resolution to the framebuffer dimensions
175
- this.setUniform('u_resolution', new Float32Array([width ?? 0, height ?? 0]));
175
+ glw.uniform2f(this.getUniformLocation('u_resolution'), width ?? 0, height ?? 0);
176
176
  }
177
177
  else {
178
- this.setUniform('u_pixelRatio', renderOp.options.pixelRatio);
179
- this.setUniform('u_resolution', new Float32Array([glw.canvas.width, glw.canvas.height]));
178
+ glw.uniform1f(this.getUniformLocation('u_pixelRatio'), renderOp.options.pixelRatio);
179
+ glw.uniform2f(this.getUniformLocation('u_resolution'), glw.canvas.width, glw.canvas.height);
180
180
  }
181
181
  if (props) {
182
182
  // Bind optional automatic uniforms
@@ -186,21 +186,20 @@ export class WebGlCoreShader extends CoreShader {
186
186
  if (!dimensions) {
187
187
  dimensions = renderOp.dimensions;
188
188
  }
189
- this.setUniform('u_dimensions', [dimensions.width, dimensions.height]);
189
+ glw.uniform2f(this.getUniformLocation('u_dimensions'), dimensions.width, dimensions.height);
190
190
  }
191
191
  if (hasOwn(props, '$alpha')) {
192
192
  let alpha = props.$alpha;
193
193
  if (!alpha) {
194
194
  alpha = renderOp.alpha;
195
195
  }
196
- this.setUniform('u_alpha', alpha);
196
+ glw.uniform1f(this.getUniformLocation('u_alpha'), alpha);
197
197
  }
198
198
  this.bindProps(props);
199
199
  }
200
200
  }
201
- setUniform(name, ...value) {
202
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unsafe-argument
203
- this.glw.setUniform(this.uniformTypes[name], this.uniformLocations[name], ...value);
201
+ getUniformLocation(name) {
202
+ return this.uniformLocations[name] || null;
204
203
  }
205
204
  bindBufferCollection(buffer) {
206
205
  if (this.boundBufferCollection === buffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
2
+ import { EventEmitter } from '../../../common/EventEmitter.js';
3
+ /**
4
+ * A wrapper around a WebGLTexture that handles loading the texture data
5
+ * from a Texture source and uploading it to the GPU as well as freeing
6
+ * the uploaded texture.
7
+ *
8
+ * @remarks
9
+ * When accessing the ctxTexture property, the texture will be loaded if
10
+ * it hasn't been already. ctxTexture will always return a valid WebGLTexture
11
+ * and trigger the loading/uploading of the texture's data if it hasn't been
12
+ * loaded yet.
13
+ */
14
+ export declare class WebGlRenderTexture extends EventEmitter {
15
+ protected glw: WebGlContextWrapper;
16
+ protected _nativeCtxTexture: WebGLTexture | null;
17
+ private _w;
18
+ private _h;
19
+ private _framebuffer;
20
+ private _texture;
21
+ private _glw;
22
+ constructor(glw: WebGlContextWrapper, width: number, height: number);
23
+ bind(): void;
24
+ unbind(): void;
25
+ get w(): number;
26
+ get h(): number;
27
+ get framebuffer(): WebGLFramebuffer | null;
28
+ get texture(): WebGLTexture | null;
29
+ }
@@ -0,0 +1,86 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ import { EventEmitter } from '../../../common/EventEmitter.js';
20
+ /**
21
+ * A wrapper around a WebGLTexture that handles loading the texture data
22
+ * from a Texture source and uploading it to the GPU as well as freeing
23
+ * the uploaded texture.
24
+ *
25
+ * @remarks
26
+ * When accessing the ctxTexture property, the texture will be loaded if
27
+ * it hasn't been already. ctxTexture will always return a valid WebGLTexture
28
+ * and trigger the loading/uploading of the texture's data if it hasn't been
29
+ * loaded yet.
30
+ */
31
+ export class WebGlRenderTexture extends EventEmitter {
32
+ glw;
33
+ _nativeCtxTexture = null;
34
+ _w = 0;
35
+ _h = 0;
36
+ _framebuffer = null;
37
+ _texture = null;
38
+ _glw;
39
+ constructor(glw, width, height) {
40
+ super();
41
+ this.glw = glw;
42
+ this._glw = glw;
43
+ this._w = width;
44
+ this._h = height;
45
+ // Create Framebuffer object
46
+ this._framebuffer = glw.createFramebuffer();
47
+ if (!this._framebuffer) {
48
+ throw new Error('Unable to create framebuffer');
49
+ }
50
+ // Bind the framebuffer
51
+ glw.bindFramebuffer(this._framebuffer);
52
+ // Create a render texture
53
+ const texture = glw.createTexture();
54
+ if (!texture) {
55
+ throw new Error('Unable to create texture');
56
+ }
57
+ glw.bindTexture(texture);
58
+ glw.texImage2D(0, glw.RGBA, width, height, 0, glw.RGBA, glw.UNSIGNED_BYTE, null);
59
+ glw.texParameteri(glw.TEXTURE_MAG_FILTER, glw.LINEAR);
60
+ glw.texParameteri(glw.TEXTURE_MIN_FILTER, glw.LINEAR);
61
+ glw.texParameteri(glw.TEXTURE_WRAP_S, glw.CLAMP_TO_EDGE);
62
+ glw.texParameteri(glw.TEXTURE_WRAP_T, glw.CLAMP_TO_EDGE);
63
+ // Attach the texture to the framebuffer
64
+ glw.framebufferTexture2D(glw.COLOR_ATTACHMENT0, texture, 0);
65
+ this._texture = texture;
66
+ }
67
+ bind() {
68
+ this._glw.bindFramebuffer(this._framebuffer);
69
+ }
70
+ unbind() {
71
+ this._glw.bindFramebuffer(null);
72
+ }
73
+ get w() {
74
+ return this._w;
75
+ }
76
+ get h() {
77
+ return this._h;
78
+ }
79
+ get framebuffer() {
80
+ return this._framebuffer;
81
+ }
82
+ get texture() {
83
+ return this._texture;
84
+ }
85
+ }
86
+ //# sourceMappingURL=WebGlRenderTexture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebGlRenderTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlRenderTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAStC;IARF,iBAAiB,GAAwB,IAAI,CAAC;IAChD,EAAE,GAAG,CAAC,CAAC;IACP,EAAE,GAAG,CAAC,CAAC;IACP,YAAY,GAA4B,IAAI,CAAC;IAC7C,QAAQ,GAAwB,IAAI,CAAC;IACrC,IAAI,CAAsB;IAElC,YACY,GAAwB,EAClC,KAAa,EACb,MAAc;QAEd,KAAK,EAAE,CAAC;QAJE,QAAG,GAAH,GAAG,CAAqB;QAKlC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QAEjB,4BAA4B;QAC5B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,uBAAuB;QACvB,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvC,0BAA0B;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzB,GAAG,CAAC,UAAU,CACZ,CAAC,EACD,GAAG,CAAC,IAAI,EACR,KAAK,EACL,MAAM,EACN,CAAC,EACD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,aAAa,EACjB,IAAI,CACL,CAAC;QACF,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAEzD,wCAAwC;QACxC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
@@ -46,7 +46,7 @@ export class DefaultShaderBatched extends WebGlCoreShader {
46
46
  glw.bindTexture(t.ctxTexture);
47
47
  });
48
48
  const samplers = Array.from(Array(texture.length).keys());
49
- this.setUniform('u_textures[0]', samplers);
49
+ this.glw.uniform1iv(this.getUniformLocation('u_textures[0]'), samplers);
50
50
  }
51
51
  static shaderSources = {
52
52
  vertex: `
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultShaderBatched.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DefaultShaderBatched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,sDAAsD;AAEtD,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAC9C,uBAAuB,GAAG,IAAI,CAAC;IAExC,YAAY,QAA2B;QACrC,KAAK,CAAC;YACJ,QAAQ;YACR,UAAU,EAAE;gBACV,YAAY;gBACZ,qBAAqB;gBACrB,SAAS;gBACT,gBAAgB;aACjB;YACD,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE;aACjD;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,YAAY,CAAC,OAA8B;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC/B,IACE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAC1E;YACA,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,WAAW,CACpH,CAAC;SACH;QACD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAU,aAAa,GAAyB;QACpD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCP;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;wBACR,YAAY;;;;;;;;;;;;;;;kDAec,YAAY;UACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;aACrC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CAAC;YACT,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG;wCACb,GAAG;;SAElC,CACE;aACA,IAAI,CAAC,EAAE,CAAC;;;;;;;KAOd;KACF,CAAC"}
1
+ {"version":3,"file":"DefaultShaderBatched.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DefaultShaderBatched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,sDAAsD;AAEtD,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAC9C,uBAAuB,GAAG,IAAI,CAAC;IAExC,YAAY,QAA2B;QACrC,KAAK,CAAC;YACJ,QAAQ;YACR,UAAU,EAAE;gBACV,YAAY;gBACZ,qBAAqB;gBACrB,SAAS;gBACT,gBAAgB;aACjB;YACD,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE;aACjD;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,YAAY,CAAC,OAA8B;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC/B,IACE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAC1E;YACA,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,WAAW,CACpH,CAAC;SACH;QACD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAU,aAAa,GAAyB;QACpD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCP;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;wBACR,YAAY;;;;;;;;;;;;;;;kDAec,YAAY;UACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;aACrC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CAAC;YACT,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG;wCACb,GAAG;;SAElC,CACE;aACA,IAAI,CAAC,EAAE,CAAC;;;;;;;KAOd;KACF,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { Point } from '../../../../common/CommonTypes.js';
2
+ import type { WebGlCoreRenderer } from '../WebGlCoreRenderer.js';
3
+ import { WebGlCoreShader, type DimensionsShaderProp } from '../WebGlCoreShader.js';
4
+ import type { WebGlCoreCtxTexture } from '../WebGlCoreCtxTexture.js';
5
+ import type { ShaderProgramSources } from '../internal/ShaderUtils.js';
6
+ /**
7
+ * Properties of the {@link DistortShaderProps} shader
8
+ */
9
+ export interface DistortShaderProps extends DimensionsShaderProp {
10
+ /**
11
+ * Use normalized values rather than pixle values
12
+ * @default false
13
+ */
14
+ normalized?: boolean;
15
+ /**
16
+ * x & y coordinates of the top left point
17
+ * @default null
18
+ */
19
+ topLeft?: Point | null;
20
+ /**
21
+ * x & y coordinates of the top right point
22
+ * @default null
23
+ */
24
+ topRight?: Point | null;
25
+ /**
26
+ * x & y coordinates of the bottom right point
27
+ * @default null
28
+ */
29
+ bottomRight?: Point | null;
30
+ /**
31
+ * x & y coordinates of the bottom left point
32
+ * @default null
33
+ */
34
+ bottomLeft?: Point | null;
35
+ }
36
+ export declare class DistortShader extends WebGlCoreShader {
37
+ constructor(renderer: WebGlCoreRenderer);
38
+ static z$__type__Props: DistortShaderProps;
39
+ static resolveDefaults(props: DistortShaderProps): Required<DistortShaderProps>;
40
+ bindTextures(textures: WebGlCoreCtxTexture[]): void;
41
+ protected bindProps(props: Required<DistortShaderProps>): void;
42
+ canBatchShaderProps(propsA: Required<DistortShaderProps>, propsB: Required<DistortShaderProps>): boolean;
43
+ static shaderSources: ShaderProgramSources;
44
+ }
@@ -0,0 +1,172 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ import { WebGlCoreShader, } from '../WebGlCoreShader.js';
20
+ export class DistortShader extends WebGlCoreShader {
21
+ constructor(renderer) {
22
+ super({
23
+ renderer,
24
+ attributes: ['a_position', 'a_textureCoordinate', 'a_color'],
25
+ uniforms: [
26
+ { name: 'u_resolution', uniform: 'uniform2fv' },
27
+ { name: 'u_pixelRatio', uniform: 'uniform1f' },
28
+ { name: 'u_texture', uniform: 'uniform2f' },
29
+ { name: 'u_dimensions', uniform: 'uniform2fv' },
30
+ { name: 'u_topLeft', uniform: 'uniform2fv' },
31
+ { name: 'u_topRight', uniform: 'uniform2fv' },
32
+ { name: 'u_bottomRight', uniform: 'uniform2fv' },
33
+ { name: 'u_bottomLeft', uniform: 'uniform2fv' },
34
+ ],
35
+ });
36
+ }
37
+ static z$__type__Props;
38
+ static resolveDefaults(props) {
39
+ return {
40
+ normalized: props.normalized || false,
41
+ topLeft: props.topLeft || null,
42
+ topRight: props.topRight || null,
43
+ bottomRight: props.bottomRight || null,
44
+ bottomLeft: props.bottomLeft || null,
45
+ $dimensions: {
46
+ width: 0,
47
+ height: 0,
48
+ },
49
+ };
50
+ }
51
+ bindTextures(textures) {
52
+ const { glw } = this;
53
+ glw.activeTexture(0);
54
+ glw.bindTexture(textures[0].ctxTexture);
55
+ }
56
+ bindProps(props) {
57
+ const width = props.normalized ? 1 : props.$dimensions.width;
58
+ const height = props.normalized ? 1 : props.$dimensions.height;
59
+ const topLeft = [
60
+ (props.topLeft?.x || 0) / width,
61
+ (props.topLeft?.y || 0) / height,
62
+ ];
63
+ const topRight = [
64
+ (props.topRight?.x || width) / width,
65
+ (props.topRight?.y || 0) / height,
66
+ ];
67
+ const bottomRight = [
68
+ (props.bottomRight?.x || width) / width,
69
+ (props.bottomRight?.y || height) / height,
70
+ ];
71
+ const bottomLeft = [
72
+ (props.bottomLeft?.x || 0) / width,
73
+ (props.bottomLeft?.y || height) / height,
74
+ ];
75
+ this.setUniform('u_topLeft', new Float32Array(topLeft));
76
+ this.setUniform('u_topRight', new Float32Array(topRight));
77
+ this.setUniform('u_bottomRight', new Float32Array(bottomRight));
78
+ this.setUniform('u_bottomLeft', new Float32Array(bottomLeft));
79
+ }
80
+ canBatchShaderProps(propsA, propsB) {
81
+ return JSON.stringify(propsA) === JSON.stringify(propsB);
82
+ }
83
+ static shaderSources = {
84
+ vertex: `
85
+ # ifdef GL_FRAGMENT_PRESICISON_HIGH
86
+ precision highp float;
87
+ # else
88
+ precision mediump float;
89
+ # endif
90
+
91
+ attribute vec2 a_position;
92
+ attribute vec2 a_textureCoordinate;
93
+ attribute vec4 a_color;
94
+
95
+ uniform vec2 u_resolution;
96
+ uniform float u_pixelRatio;
97
+
98
+ varying vec4 v_color;
99
+ varying vec2 v_textureCoordinate;
100
+
101
+ void main() {
102
+ vec2 normalized = a_position * u_pixelRatio / u_resolution;
103
+ vec2 zero_two = normalized * 2.0;
104
+ vec2 clip_space = zero_two - 1.0;
105
+
106
+ // pass to fragment
107
+ v_color = a_color;
108
+ v_textureCoordinate = a_textureCoordinate;
109
+
110
+ // flip y
111
+ gl_Position = vec4(clip_space * vec2(1.0, -1.0), 0, 1);
112
+ }
113
+ `,
114
+ fragment: `
115
+ # ifdef GL_FRAGMENT_PRESICISON_HIGH
116
+ precision highp float;
117
+ # else
118
+ precision mediump float;
119
+ # endif
120
+
121
+ uniform sampler2D u_texture;
122
+ uniform vec2 u_topLeft;
123
+ uniform vec2 u_topRight;
124
+ uniform vec2 u_bottomLeft;
125
+ uniform vec2 u_bottomRight;
126
+
127
+ varying vec2 v_textureCoordinate;
128
+ varying vec4 v_color;
129
+
130
+ float xross(in vec2 a, in vec2 b) {
131
+ return a.x * b.y - a.y * b.x;
132
+ }
133
+
134
+ vec2 invBilinear(in vec2 p, in vec2 a, in vec2 b, in vec2 c, in vec2 d ){
135
+ vec2 e = b-a;
136
+ vec2 f = d-a;
137
+ vec2 g = a-b+c-d;
138
+ vec2 h = p-a;
139
+
140
+ float k2 = xross(g, f);
141
+ float k1 = xross(e, f) + xross(h, g);
142
+ float k0 = xross(h, e);
143
+
144
+ float w = k1*k1 - 4.0*k0*k2;
145
+
146
+ if( w<0.0 ) return vec2(-1.0);
147
+
148
+ w = sqrt(w);
149
+
150
+ // will fail for k0=0, which is only on the ba edge
151
+ float v = 2.0*k0/(-k1 - w);
152
+ if( v<0.0 || v>1.0 ) v = 2.0*k0/(-k1 + w);
153
+
154
+ float u = (h.x - f.x*v)/(e.x + g.x*v);
155
+ if( u<0.0 || u>1.0 || v<0.0 || v>1.0 ) return vec2(-1.0);
156
+ return vec2( u, v );
157
+ }
158
+
159
+ void main(void){
160
+ vec4 color = vec4(0.0);
161
+ vec2 texUv = invBilinear(v_textureCoordinate, u_topLeft, u_topRight, u_bottomRight, u_bottomLeft);
162
+
163
+ if (texUv.x > -0.5) {
164
+ color = texture2D(u_texture, texUv) * v_color;
165
+ }
166
+
167
+ gl_FragColor = color;
168
+ }
169
+ `,
170
+ };
171
+ }
172
+ //# sourceMappingURL=DistortShader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DistortShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DistortShader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { WebGlCoreRenderer } from '../WebGlCoreRenderer.js';
2
2
  import { WebGlCoreShader, type DimensionsShaderProp, type AlphaShaderProp } from '../WebGlCoreShader.js';
3
- import type { UniformInfo } from '../internal/ShaderUtils.js';
3
+ import { type UniformInfo } from '../internal/ShaderUtils.js';
4
4
  import type { WebGlCoreCtxTexture } from '../WebGlCoreCtxTexture.js';
5
5
  import { ShaderEffect, type EffectDescUnion } from './effects/ShaderEffect.js';
6
6
  import type { EffectMap } from '../../../CoreShaderManager.js';
@@ -11,6 +11,7 @@ export declare class DynamicShader extends WebGlCoreShader {
11
11
  effects: Array<InstanceType<EffectMap[keyof EffectMap]>>;
12
12
  constructor(renderer: WebGlCoreRenderer, props: DynamicShaderProps, effectContructors: Partial<EffectMap>);
13
13
  bindTextures(textures: WebGlCoreCtxTexture[]): void;
14
+ bindUniformMethods(props: DynamicShaderProps): void;
14
15
  protected bindProps(props: Required<DynamicShaderProps>): void;
15
16
  canBatchShaderProps(propsA: Required<DynamicShaderProps>, propsB: Required<DynamicShaderProps>): boolean;
16
17
  static createShader(props: DynamicShaderProps, effectContructors: Partial<EffectMap>): {
@@ -1,4 +1,5 @@
1
1
  import { WebGlCoreShader, } from '../WebGlCoreShader.js';
2
+ import {} from '../internal/ShaderUtils.js';
2
3
  import { ShaderEffect, } from './effects/ShaderEffect.js';
3
4
  import { assertTruthy } from '../../../../utils.js';
4
5
  const effectCache = new Map();
@@ -30,6 +31,7 @@ const getResolvedEffect = (effects, effectContructors) => {
30
31
  const result = {
31
32
  value: defaultPropValues[key],
32
33
  programValue: undefined,
34
+ method: uniform.method,
33
35
  updateOnBind: uniform.updateOnBind || false,
34
36
  hasValidator: uniform.validator !== undefined,
35
37
  hasProgramValueUpdater: uniform.updateProgramValue !== undefined,
@@ -80,13 +82,64 @@ export class DynamicShader extends WebGlCoreShader {
80
82
  glw.activeTexture(0);
81
83
  glw.bindTexture(textures[0].ctxTexture);
82
84
  }
85
+ bindUniformMethods(props) {
86
+ const glw = this.glw;
87
+ const effects = props.effects;
88
+ const effectsL = effects.length;
89
+ for (let i = 0; i < effectsL; i++) {
90
+ const uniformInfo = this.effects[i].uniformInfo;
91
+ const effect = effects[i];
92
+ const propKeys = Object.keys(effect.props);
93
+ const propsLength = propKeys.length;
94
+ for (let j = 0; j < propsLength; j++) {
95
+ const key = propKeys[j];
96
+ const method = effect.props[key].method;
97
+ const location = this.getUniformLocation(uniformInfo[key].name);
98
+ if (method === 'uniform2fv' ||
99
+ method === 'uniform2iv' ||
100
+ //uniform === 'uniform3fv ' || <--- check why this isnt recognized
101
+ method === 'uniform3iv' ||
102
+ method === 'uniform4fv' ||
103
+ method === 'uniform4iv' ||
104
+ method === 'uniformMatrix2fv' ||
105
+ method === 'uniformMatrix3fv' ||
106
+ method === 'uniformMatrix4fv' ||
107
+ method === 'uniform1f' ||
108
+ method === 'uniform1fv' ||
109
+ method === 'uniform1i' ||
110
+ method === 'uniform1iv') {
111
+ effect.props[key].setUniformValue = function () {
112
+ glw[method](location, this.programValue);
113
+ };
114
+ continue;
115
+ }
116
+ if (method === 'uniform2f' || method === 'uniform2i') {
117
+ effect.props[key].setUniformValue = function () {
118
+ glw[method](location, this.programValue[0], this.programValue[1]);
119
+ };
120
+ continue;
121
+ }
122
+ if (method === 'uniform3f' || method === 'uniform3i') {
123
+ effect.props[key].setUniformValue = function () {
124
+ glw[method](location, this.programValue[0], this.programValue[1], this.programValue[2]);
125
+ };
126
+ continue;
127
+ }
128
+ if (method === 'uniform4f' || method === 'uniform4i') {
129
+ effect.props[key].setUniformValue = function () {
130
+ glw[method](location, this.programValue[0], this.programValue[1], this.programValue[2], this.programValue[3]);
131
+ };
132
+ continue;
133
+ }
134
+ }
135
+ }
136
+ }
83
137
  bindProps(props) {
84
138
  const effects = props.effects;
85
139
  const effectsL = effects.length;
86
140
  let i = 0;
87
141
  for (; i < effectsL; i++) {
88
142
  const effect = effects[i];
89
- const uniformInfo = this.effects[i].uniformInfo;
90
143
  const propKeys = Object.keys(effect.props);
91
144
  const propsLength = propKeys.length;
92
145
  let j = 0;
@@ -97,7 +150,7 @@ export class DynamicShader extends WebGlCoreShader {
97
150
  const uniform = this.renderer.shManager.getRegisteredEffects()[effect.type]?.uniforms[key];
98
151
  uniform?.updateProgramValue(effect.props[key], props);
99
152
  }
100
- this.setUniform(uniformInfo[key].name, effect.props[key].programValue);
153
+ prop.setUniformValue();
101
154
  }
102
155
  }
103
156
  }