@lightningjs/renderer 2.13.0 → 2.13.1

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 (213) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +147 -147
  4. package/dist/exports/core-api.d.ts +74 -0
  5. package/dist/exports/core-api.js +96 -0
  6. package/dist/exports/core-api.js.map +1 -0
  7. package/dist/exports/main-api.d.ts +30 -0
  8. package/dist/exports/main-api.js +45 -0
  9. package/dist/exports/main-api.js.map +1 -0
  10. package/dist/src/core/CoreExtension.d.ts +12 -0
  11. package/dist/src/core/CoreExtension.js +29 -0
  12. package/dist/src/core/CoreExtension.js.map +1 -0
  13. package/dist/src/core/lib/ImageWorker.js +2 -1
  14. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  15. package/dist/src/core/lib/utils.d.ts +4 -0
  16. package/dist/src/core/lib/utils.js +46 -0
  17. package/dist/src/core/lib/utils.js.map +1 -1
  18. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  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 +62 -62
  23. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  24. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  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/HolePunchEffect.js +22 -22
  32. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  33. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  34. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  35. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  36. package/dist/src/core/textures/ImageTexture.d.ts +2 -2
  37. package/dist/src/core/textures/ImageTexture.js +24 -4
  38. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  39. package/dist/src/main-api/ICoreDriver.d.ts +24 -0
  40. package/dist/src/main-api/ICoreDriver.js +20 -0
  41. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  42. package/dist/src/main-api/RendererMain.d.ts +378 -0
  43. package/dist/src/main-api/RendererMain.js +367 -0
  44. package/dist/src/main-api/RendererMain.js.map +1 -0
  45. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
  46. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
  47. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
  48. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
  49. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
  50. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
  51. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
  52. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
  53. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
  54. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +21 -0
  55. package/dist/src/render-drivers/main/MainCoreDriver.js +115 -0
  56. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  57. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +101 -0
  58. package/dist/src/render-drivers/main/MainOnlyNode.js +425 -0
  59. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
  60. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
  61. package/dist/src/render-drivers/main/MainOnlyTextNode.js +204 -0
  62. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
  63. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +93 -0
  64. package/dist/src/render-drivers/threadx/NodeStruct.js +290 -0
  65. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
  66. package/dist/src/render-drivers/threadx/SharedNode.d.ts +40 -0
  67. package/dist/src/render-drivers/threadx/SharedNode.js +61 -0
  68. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
  69. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
  70. package/dist/src/render-drivers/threadx/TextNodeStruct.js +203 -0
  71. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
  72. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +25 -0
  73. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +232 -0
  74. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  75. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +24 -0
  76. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +113 -0
  77. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
  78. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +46 -0
  79. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +160 -0
  80. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
  81. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
  82. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
  83. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
  84. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
  85. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
  86. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
  87. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
  88. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +184 -0
  89. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
  90. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
  91. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +109 -0
  92. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
  93. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
  94. package/dist/src/render-drivers/threadx/worker/renderer.js +147 -0
  95. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
  96. package/dist/src/render-drivers/utils.d.ts +12 -0
  97. package/dist/src/render-drivers/utils.js +74 -0
  98. package/dist/src/render-drivers/utils.js.map +1 -0
  99. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  100. package/dist/tsconfig.tsbuildinfo +1 -0
  101. package/exports/canvas.ts +39 -39
  102. package/exports/index.ts +89 -89
  103. package/exports/inspector.ts +24 -24
  104. package/exports/utils.ts +44 -44
  105. package/exports/webgl.ts +38 -38
  106. package/package.json +2 -1
  107. package/scripts/please-use-pnpm.js +13 -13
  108. package/src/common/CommonTypes.ts +146 -146
  109. package/src/common/EventEmitter.ts +77 -77
  110. package/src/common/IAnimationController.ts +92 -92
  111. package/src/common/IEventEmitter.ts +28 -28
  112. package/src/core/CoreNode.test.ts +202 -202
  113. package/src/core/CoreNode.ts +2455 -2455
  114. package/src/core/CoreShaderManager.ts +292 -292
  115. package/src/core/CoreTextNode.ts +455 -455
  116. package/src/core/CoreTextureManager.ts +597 -597
  117. package/src/core/Stage.ts +743 -743
  118. package/src/core/TextureMemoryManager.ts +395 -395
  119. package/src/core/animations/AnimationManager.ts +38 -38
  120. package/src/core/animations/CoreAnimation.ts +340 -340
  121. package/src/core/animations/CoreAnimationController.ts +157 -157
  122. package/src/core/lib/ContextSpy.ts +41 -41
  123. package/src/core/lib/ImageWorker.ts +280 -279
  124. package/src/core/lib/Matrix3d.ts +244 -244
  125. package/src/core/lib/RenderCoords.ts +86 -86
  126. package/src/core/lib/WebGlContextWrapper.ts +1332 -1332
  127. package/src/core/lib/textureCompression.ts +152 -152
  128. package/src/core/lib/textureSvg.ts +78 -78
  129. package/src/core/lib/utils.ts +384 -310
  130. package/src/core/lib/validateImageBitmap.ts +76 -76
  131. package/src/core/platform.ts +63 -63
  132. package/src/core/renderers/CoreContextTexture.ts +43 -43
  133. package/src/core/renderers/CoreRenderOp.ts +22 -22
  134. package/src/core/renderers/CoreRenderer.ts +115 -115
  135. package/src/core/renderers/CoreShader.ts +41 -41
  136. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +375 -375
  137. package/src/core/renderers/canvas/CanvasCoreTexture.ts +153 -153
  138. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  139. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  140. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  141. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +86 -86
  142. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  143. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +301 -301
  144. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  145. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +815 -815
  146. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  147. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  148. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  149. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  150. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  151. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  152. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  153. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  154. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  155. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  156. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  157. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  158. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  159. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  160. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  161. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  162. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  163. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  164. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  165. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  166. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  167. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  168. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  169. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  170. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  171. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  172. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  173. package/src/core/text-rendering/TrFontManager.ts +183 -183
  174. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  175. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  176. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  177. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  178. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  179. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  180. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  181. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  182. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  183. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  184. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  185. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  186. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  187. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  188. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  189. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  190. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  191. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  192. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  193. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  194. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  195. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  196. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  197. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  198. package/src/core/textures/ColorTexture.ts +102 -102
  199. package/src/core/textures/ImageTexture.ts +399 -376
  200. package/src/core/textures/NoiseTexture.ts +104 -104
  201. package/src/core/textures/RenderTexture.ts +85 -85
  202. package/src/core/textures/SubTexture.ts +205 -205
  203. package/src/core/textures/Texture.ts +337 -337
  204. package/src/core/utils.ts +227 -227
  205. package/src/env.d.ts +7 -7
  206. package/src/main-api/DynamicShaderController.ts +104 -104
  207. package/src/main-api/INode.ts +101 -101
  208. package/src/main-api/Inspector.ts +522 -522
  209. package/src/main-api/Renderer.ts +751 -751
  210. package/src/main-api/ShaderController.ts +80 -80
  211. package/src/main-api/utils.ts +45 -45
  212. package/src/utils.ts +248 -248
  213. package/COPYING +0 -1
@@ -215,4 +215,50 @@ export function convertUrlToAbsolute(url) {
215
215
  export function isBase64Image(src) {
216
216
  return src.startsWith('data:') === true;
217
217
  }
218
+ export function calcFactoredRadius(radius, width, height) {
219
+ return radius * Math.min(Math.min(width, height) / (2.0 * radius), 1);
220
+ }
221
+ export function valuesAreEqual(values) {
222
+ let prevValue = values[0];
223
+ for (let i = 1; i < values.length; i++) {
224
+ if (prevValue !== values[i]) {
225
+ return false;
226
+ }
227
+ }
228
+ return true;
229
+ }
230
+ export function calcFactoredRadiusArray(radius, width, height) {
231
+ const result = [
232
+ radius[0],
233
+ radius[1],
234
+ radius[2],
235
+ radius[3],
236
+ ];
237
+ const factor = Math.min(Math.min(Math.min(width / Math.max(width, radius[0] + radius[1]), width / Math.max(width, radius[2] + radius[3])), Math.min(height / Math.max(height, radius[0] + radius[3]), height / Math.max(height, radius[1] + radius[2]))), 1);
238
+ result[0] *= factor;
239
+ result[1] *= factor;
240
+ result[2] *= factor;
241
+ result[3] *= factor;
242
+ return result;
243
+ }
244
+ export function dataURIToBlob(dataURI) {
245
+ dataURI = dataURI.replace(/^data:/, '');
246
+ const type = dataURI.match(/image\/[^;]+/)?.[0] || '';
247
+ const base64 = dataURI.replace(/^[^,]+,/, '');
248
+ const sliceSize = 1024;
249
+ const byteCharacters = atob(base64);
250
+ const bytesLength = byteCharacters.length;
251
+ const slicesCount = Math.ceil(bytesLength / sliceSize);
252
+ const byteArrays = new Array(slicesCount);
253
+ for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
254
+ const begin = sliceIndex * sliceSize;
255
+ const end = Math.min(begin + sliceSize, bytesLength);
256
+ const bytes = new Array(end - begin);
257
+ for (let offset = begin, i = 0; offset < end; ++i, ++offset) {
258
+ bytes[i] = byteCharacters[offset]?.charCodeAt(0);
259
+ }
260
+ byteArrays[sliceIndex] = new Uint8Array(bytes);
261
+ }
262
+ return new Blob(byteArrays, { type });
263
+ }
218
264
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -35,52 +35,52 @@ export class DefaultShader extends WebGlCoreShader {
35
35
  glw.bindTexture(textures[0].ctxTexture);
36
36
  }
37
37
  static shaderSources = {
38
- vertex: `
39
- # ifdef GL_FRAGMENT_PRECISION_HIGH
40
- precision highp float;
41
- # else
42
- precision mediump float;
43
- # endif
44
-
45
- attribute vec2 a_position;
46
- attribute vec2 a_textureCoordinate;
47
- attribute vec4 a_color;
48
-
49
- uniform vec2 u_resolution;
50
- uniform float u_pixelRatio;
51
-
52
-
53
- varying vec4 v_color;
54
- varying vec2 v_textureCoordinate;
55
-
56
- void main() {
57
- vec2 normalized = a_position * u_pixelRatio;
58
- vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
59
-
60
- v_color = a_color;
61
- v_textureCoordinate = a_textureCoordinate;
62
-
63
- gl_Position = vec4(normalized.x * screenSpace.x - 1.0, normalized.y * -abs(screenSpace.y) + 1.0, 0.0, 1.0);
64
- gl_Position.y = -sign(screenSpace.y) * gl_Position.y;
65
- }
38
+ vertex: `
39
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
40
+ precision highp float;
41
+ # else
42
+ precision mediump float;
43
+ # endif
44
+
45
+ attribute vec2 a_position;
46
+ attribute vec2 a_textureCoordinate;
47
+ attribute vec4 a_color;
48
+
49
+ uniform vec2 u_resolution;
50
+ uniform float u_pixelRatio;
51
+
52
+
53
+ varying vec4 v_color;
54
+ varying vec2 v_textureCoordinate;
55
+
56
+ void main() {
57
+ vec2 normalized = a_position * u_pixelRatio;
58
+ vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
59
+
60
+ v_color = a_color;
61
+ v_textureCoordinate = a_textureCoordinate;
62
+
63
+ gl_Position = vec4(normalized.x * screenSpace.x - 1.0, normalized.y * -abs(screenSpace.y) + 1.0, 0.0, 1.0);
64
+ gl_Position.y = -sign(screenSpace.y) * gl_Position.y;
65
+ }
66
66
  `,
67
- fragment: `
68
- # ifdef GL_FRAGMENT_PRECISION_HIGH
69
- precision highp float;
70
- # else
71
- precision mediump float;
72
- # endif
73
-
74
- uniform vec2 u_resolution;
75
- uniform sampler2D u_texture;
76
-
77
- varying vec4 v_color;
78
- varying vec2 v_textureCoordinate;
79
-
80
- void main() {
81
- vec4 color = texture2D(u_texture, v_textureCoordinate);
82
- gl_FragColor = vec4(v_color) * texture2D(u_texture, v_textureCoordinate);
83
- }
67
+ fragment: `
68
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
69
+ precision highp float;
70
+ # else
71
+ precision mediump float;
72
+ # endif
73
+
74
+ uniform vec2 u_resolution;
75
+ uniform sampler2D u_texture;
76
+
77
+ varying vec4 v_color;
78
+ varying vec2 v_textureCoordinate;
79
+
80
+ void main() {
81
+ vec4 color = texture2D(u_texture, v_textureCoordinate);
82
+ gl_FragColor = vec4(v_color) * texture2D(u_texture, v_textureCoordinate);
83
+ }
84
84
  `,
85
85
  };
86
86
  }
@@ -49,70 +49,70 @@ export class DefaultShaderBatched extends WebGlCoreShader {
49
49
  this.glw.uniform1iv(this.getUniformLocation('u_textures[0]'), samplers);
50
50
  }
51
51
  static shaderSources = {
52
- vertex: `
53
- # ifdef GL_FRAGMENT_PRECISION_HIGH
54
- precision highp float;
55
- # else
56
- precision mediump float;
57
- # endif
58
-
59
- attribute vec2 a_textureCoordinate;
60
- attribute vec2 a_position;
61
- attribute vec4 a_color;
62
- attribute float a_textureIndex;
63
- attribute float a_depth;
64
-
65
- uniform vec2 u_resolution;
66
- uniform float u_pixelRatio;
67
-
68
- varying vec4 v_color;
69
- varying vec2 v_textureCoordinate;
70
- varying float v_textureIndex;
71
-
72
- void main(){
73
- vec2 normalized = a_position * u_pixelRatio / u_resolution;
74
- vec2 zero_two = normalized * 2.0;
75
- vec2 clip_space = zero_two - 1.0;
76
-
77
- // pass to fragment
78
- v_color = a_color;
79
- v_textureCoordinate = a_textureCoordinate;
80
- v_textureIndex = a_textureIndex;
81
-
82
- // flip y
83
- gl_Position = vec4(clip_space * vec2(1.0, -1.0), 0, 1);
84
- }
52
+ vertex: `
53
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
54
+ precision highp float;
55
+ # else
56
+ precision mediump float;
57
+ # endif
58
+
59
+ attribute vec2 a_textureCoordinate;
60
+ attribute vec2 a_position;
61
+ attribute vec4 a_color;
62
+ attribute float a_textureIndex;
63
+ attribute float a_depth;
64
+
65
+ uniform vec2 u_resolution;
66
+ uniform float u_pixelRatio;
67
+
68
+ varying vec4 v_color;
69
+ varying vec2 v_textureCoordinate;
70
+ varying float v_textureIndex;
71
+
72
+ void main(){
73
+ vec2 normalized = a_position * u_pixelRatio / u_resolution;
74
+ vec2 zero_two = normalized * 2.0;
75
+ vec2 clip_space = zero_two - 1.0;
76
+
77
+ // pass to fragment
78
+ v_color = a_color;
79
+ v_textureCoordinate = a_textureCoordinate;
80
+ v_textureIndex = a_textureIndex;
81
+
82
+ // flip y
83
+ gl_Position = vec4(clip_space * vec2(1.0, -1.0), 0, 1);
84
+ }
85
85
  `,
86
- fragment: (textureUnits) => `
87
- #define txUnits ${textureUnits}
88
- # ifdef GL_FRAGMENT_PRECISION_HIGH
89
- precision highp float;
90
- # else
91
- precision mediump float;
92
- # endif
93
-
94
- uniform vec2 u_resolution;
95
- uniform sampler2D u_image;
96
- uniform sampler2D u_textures[txUnits];
97
-
98
- varying vec4 v_color;
99
- varying vec2 v_textureCoordinate;
100
- varying float v_textureIndex;
101
-
102
- vec4 sampleFromTexture(sampler2D textures[${textureUnits}], int idx, vec2 uv) {
86
+ fragment: (textureUnits) => `
87
+ #define txUnits ${textureUnits}
88
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
89
+ precision highp float;
90
+ # else
91
+ precision mediump float;
92
+ # endif
93
+
94
+ uniform vec2 u_resolution;
95
+ uniform sampler2D u_image;
96
+ uniform sampler2D u_textures[txUnits];
97
+
98
+ varying vec4 v_color;
99
+ varying vec2 v_textureCoordinate;
100
+ varying float v_textureIndex;
101
+
102
+ vec4 sampleFromTexture(sampler2D textures[${textureUnits}], int idx, vec2 uv) {
103
103
  ${Array.from(Array(textureUnits).keys())
104
- .map((idx) => `
105
- ${idx !== 0 ? 'else ' : ''}if (idx == ${idx}) {
106
- return texture2D(textures[${idx}], uv);
107
- }
104
+ .map((idx) => `
105
+ ${idx !== 0 ? 'else ' : ''}if (idx == ${idx}) {
106
+ return texture2D(textures[${idx}], uv);
107
+ }
108
108
  `)
109
- .join('')}
110
- return texture2D(textures[0], uv);
111
- }
112
-
113
- void main(){
114
- gl_FragColor = vec4(v_color) * sampleFromTexture(u_textures, int(v_textureIndex), v_textureCoordinate);
115
- }
109
+ .join('')}
110
+ return texture2D(textures[0], uv);
111
+ }
112
+
113
+ void main(){
114
+ gl_FragColor = vec4(v_color) * sampleFromTexture(u_textures, int(v_textureIndex), v_textureCoordinate);
115
+ }
116
116
  `,
117
117
  };
118
118
  }
@@ -244,24 +244,24 @@ export class DynamicShader extends WebGlCoreShader {
244
244
  const methodParameters = fxClass.getMethodParameters(fxClass.uniforms, fxProps);
245
245
  const pm = methodParameters.length > 0 ? `, ${methodParameters}` : '';
246
246
  if (onShaderMask) {
247
- effectMethods += `
248
- float fx_${fx.key}_onShaderMask(float shaderMask ${pm}) {
249
- ${onShaderMask}
250
- }
247
+ effectMethods += `
248
+ float fx_${fx.key}_onShaderMask(float shaderMask ${pm}) {
249
+ ${onShaderMask}
250
+ }
251
251
  `;
252
252
  }
253
253
  if (onColorize) {
254
- effectMethods += `
255
- vec4 fx_${fx.key}_onColorize(float shaderMask, vec4 maskColor, vec4 shaderColor${pm}) {
256
- ${onColorize}
257
- }
254
+ effectMethods += `
255
+ vec4 fx_${fx.key}_onColorize(float shaderMask, vec4 maskColor, vec4 shaderColor${pm}) {
256
+ ${onColorize}
257
+ }
258
258
  `;
259
259
  }
260
260
  if (onEffectMask) {
261
- effectMethods += `
262
- vec4 fx_${fx.key}_onEffectMask(float shaderMask, vec4 maskColor, vec4 shaderColor${pm}) {
263
- ${onEffectMask}
264
- }
261
+ effectMethods += `
262
+ vec4 fx_${fx.key}_onEffectMask(float shaderMask, vec4 maskColor, vec4 shaderColor${pm}) {
263
+ ${onEffectMask}
264
+ }
265
265
  `;
266
266
  }
267
267
  });
@@ -271,21 +271,21 @@ export class DynamicShader extends WebGlCoreShader {
271
271
  }
272
272
  //fill main functions
273
273
  let currentMask = `mix(shaderColor, maskColor, clamp(-(lng_DefaultMask), 0.0, 1.0))`;
274
- let drawEffects = `
275
-
274
+ let drawEffects = `
275
+
276
276
  `;
277
277
  for (let i = 0; i < effects.length; i++) {
278
278
  const current = effects[i];
279
279
  const pm = current.passParameters.length > 0 ? `, ${current.passParameters}` : '';
280
280
  const currentClass = effectContructors[current.name];
281
281
  if (currentClass.onShaderMask) {
282
- drawEffects += `
283
- shaderMask = fx_${current.target}_onShaderMask(shaderMask ${pm});
282
+ drawEffects += `
283
+ shaderMask = fx_${current.target}_onShaderMask(shaderMask ${pm});
284
284
  `;
285
285
  }
286
286
  if (currentClass.onColorize) {
287
- drawEffects += `
288
- maskColor = fx_${current.target}_onColorize(shaderMask, maskColor, shaderColor${pm});
287
+ drawEffects += `
288
+ maskColor = fx_${current.target}_onColorize(shaderMask, maskColor, shaderColor${pm});
289
289
  `;
290
290
  }
291
291
  if (currentClass.onEffectMask) {
@@ -294,8 +294,8 @@ export class DynamicShader extends WebGlCoreShader {
294
294
  const next = effects[i + 1];
295
295
  if (next === undefined ||
296
296
  effectContructors[next.name].onEffectMask) {
297
- drawEffects += `
298
- shaderColor = ${currentMask};
297
+ drawEffects += `
298
+ shaderColor = ${currentMask};
299
299
  `;
300
300
  }
301
301
  }
@@ -334,80 +334,80 @@ export class DynamicShader extends WebGlCoreShader {
334
334
  return `DynamicShader${fx}`;
335
335
  }
336
336
  static z$__type__Props;
337
- static vertex = () => `
338
- # ifdef GL_FRAGMENT_PRECISION_HIGH
339
- precision highp float;
340
- # else
341
- precision mediump float;
342
- # endif
343
-
344
- attribute vec2 a_textureCoordinate;
345
- attribute vec2 a_position;
346
- attribute vec4 a_color;
347
- attribute float a_textureIndex;
348
-
349
- uniform vec2 u_resolution;
350
- uniform float u_pixelRatio;
351
-
352
- varying vec4 v_color;
353
- varying vec2 v_textureCoordinate;
354
- varying float v_textureIndex;
355
-
356
- void main(){
357
- vec2 normalized = a_position * u_pixelRatio / u_resolution;
358
- vec2 zero_two = normalized * 2.0;
359
- vec2 clip_space = zero_two - 1.0;
360
-
361
- // pass to fragment
362
- v_color = a_color;
363
- v_textureCoordinate = a_textureCoordinate;
364
- v_textureIndex = a_textureIndex;
365
-
366
- // flip y
367
- gl_Position = vec4(clip_space * vec2(1.0, -1.0), 0, 1);
368
- }
337
+ static vertex = () => `
338
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
339
+ precision highp float;
340
+ # else
341
+ precision mediump float;
342
+ # endif
343
+
344
+ attribute vec2 a_textureCoordinate;
345
+ attribute vec2 a_position;
346
+ attribute vec4 a_color;
347
+ attribute float a_textureIndex;
348
+
349
+ uniform vec2 u_resolution;
350
+ uniform float u_pixelRatio;
351
+
352
+ varying vec4 v_color;
353
+ varying vec2 v_textureCoordinate;
354
+ varying float v_textureIndex;
355
+
356
+ void main(){
357
+ vec2 normalized = a_position * u_pixelRatio / u_resolution;
358
+ vec2 zero_two = normalized * 2.0;
359
+ vec2 clip_space = zero_two - 1.0;
360
+
361
+ // pass to fragment
362
+ v_color = a_color;
363
+ v_textureCoordinate = a_textureCoordinate;
364
+ v_textureIndex = a_textureIndex;
365
+
366
+ // flip y
367
+ gl_Position = vec4(clip_space * vec2(1.0, -1.0), 0, 1);
368
+ }
369
369
  `;
370
- static fragment = (uniforms, methods, effectMethods, drawEffects) => `
371
- # ifdef GL_FRAGMENT_PRECISION_HIGH
372
- precision highp float;
373
- # else
374
- precision mediump float;
375
- # endif
376
-
377
- #define PI 3.14159265359
378
-
379
- uniform vec2 u_resolution;
380
- uniform vec2 u_dimensions;
381
- uniform float u_alpha;
382
- uniform float u_radius;
383
- uniform sampler2D u_texture;
384
- uniform float u_pixelRatio;
385
-
386
- ${uniforms}
387
-
388
- varying vec4 v_color;
389
- varying vec2 v_textureCoordinate;
390
-
391
- ${methods}
392
-
393
- ${effectMethods}
394
-
395
- void main() {
396
- vec2 p = v_textureCoordinate.xy * u_dimensions - u_dimensions * 0.5;
397
- vec2 d = abs(p) - (u_dimensions) * 0.5;
398
- float lng_DefaultMask = min(max(d.x, d.y), 0.0) + length(max(d, 0.0));
399
-
400
- vec4 shaderColor = vec4(0.0);
401
- float shaderMask = lng_DefaultMask;
402
-
403
- vec4 maskColor = texture2D(u_texture, v_textureCoordinate) * v_color;
404
-
405
- shaderColor = mix(shaderColor, maskColor, clamp(-(lng_DefaultMask + 0.5), 0.0, 1.0));
406
-
407
- ${drawEffects}
408
-
409
- gl_FragColor = shaderColor * u_alpha;
410
- }
370
+ static fragment = (uniforms, methods, effectMethods, drawEffects) => `
371
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
372
+ precision highp float;
373
+ # else
374
+ precision mediump float;
375
+ # endif
376
+
377
+ #define PI 3.14159265359
378
+
379
+ uniform vec2 u_resolution;
380
+ uniform vec2 u_dimensions;
381
+ uniform float u_alpha;
382
+ uniform float u_radius;
383
+ uniform sampler2D u_texture;
384
+ uniform float u_pixelRatio;
385
+
386
+ ${uniforms}
387
+
388
+ varying vec4 v_color;
389
+ varying vec2 v_textureCoordinate;
390
+
391
+ ${methods}
392
+
393
+ ${effectMethods}
394
+
395
+ void main() {
396
+ vec2 p = v_textureCoordinate.xy * u_dimensions - u_dimensions * 0.5;
397
+ vec2 d = abs(p) - (u_dimensions) * 0.5;
398
+ float lng_DefaultMask = min(max(d.x, d.y), 0.0) + length(max(d, 0.0));
399
+
400
+ vec4 shaderColor = vec4(0.0);
401
+ float shaderMask = lng_DefaultMask;
402
+
403
+ vec4 maskColor = texture2D(u_texture, v_textureCoordinate) * v_color;
404
+
405
+ shaderColor = mix(shaderColor, maskColor, clamp(-(lng_DefaultMask + 0.5), 0.0, 1.0));
406
+
407
+ ${drawEffects}
408
+
409
+ gl_FragColor = shaderColor * u_alpha;
410
+ }
411
411
  `;
412
412
  }
413
413
  //# sourceMappingURL=DynamicShader.js.map