@lightningjs/renderer 0.8.3 → 0.9.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 (177) hide show
  1. package/dist/src/core/CoreNode.d.ts +27 -1
  2. package/dist/src/core/CoreNode.js +130 -5
  3. package/dist/src/core/CoreNode.js.map +1 -1
  4. package/dist/src/core/CoreShaderManager.js +3 -2
  5. package/dist/src/core/CoreShaderManager.js.map +1 -1
  6. package/dist/src/core/CoreTextNode.js +20 -1
  7. package/dist/src/core/CoreTextNode.js.map +1 -1
  8. package/dist/src/core/CoreTextureManager.d.ts +2 -0
  9. package/dist/src/core/CoreTextureManager.js +2 -0
  10. package/dist/src/core/CoreTextureManager.js.map +1 -1
  11. package/dist/src/core/Stage.js +25 -9
  12. package/dist/src/core/Stage.js.map +1 -1
  13. package/dist/src/core/TextureMemoryManager.d.ts +1 -0
  14. package/dist/src/core/TextureMemoryManager.js +3 -1
  15. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  16. package/dist/src/core/lib/ImageWorker.d.ts +2 -1
  17. package/dist/src/core/lib/ImageWorker.js +10 -6
  18. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  19. package/dist/src/core/lib/Matrix3d.d.ts +38 -24
  20. package/dist/src/core/lib/Matrix3d.js +143 -166
  21. package/dist/src/core/lib/Matrix3d.js.map +1 -1
  22. package/dist/src/core/lib/WebGlContextWrapper.d.ts +26 -1
  23. package/dist/src/core/lib/WebGlContextWrapper.js +37 -1
  24. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  25. package/dist/src/core/renderers/CoreRenderer.d.ts +11 -0
  26. package/dist/src/core/renderers/CoreRenderer.js +1 -0
  27. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  28. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +10 -4
  29. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +18 -7
  30. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  31. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +2 -2
  32. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +8 -6
  33. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  34. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +1 -1
  35. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +1 -1
  36. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  37. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +4 -4
  38. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  39. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +1 -1
  40. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +2 -2
  41. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -1
  42. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +11 -0
  43. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +51 -0
  44. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  45. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +11 -1
  46. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +22 -11
  47. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  48. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +4 -1
  49. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +7 -2
  50. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
  51. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +16 -1
  52. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +119 -27
  53. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  54. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +19 -4
  55. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  56. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +4 -6
  57. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
  58. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +6 -1
  59. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  60. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
  61. package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
  62. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
  63. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +19 -0
  64. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +61 -0
  65. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  66. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +8 -2
  67. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +24 -3
  68. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  69. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +2 -0
  70. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -1
  71. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +72 -1
  72. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +11 -1
  73. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
  74. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +5 -2
  75. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +4 -3
  76. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
  77. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +8 -0
  78. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +42 -16
  79. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  80. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +7 -1
  81. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +42 -11
  82. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  83. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +6 -1
  84. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +27 -9
  85. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  86. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +2 -1
  87. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +32 -5
  88. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -1
  89. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +2 -1
  90. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +2 -1
  91. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  92. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +10 -5
  93. package/dist/src/core/text-rendering/renderers/TextRenderer.js +6 -5
  94. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  95. package/dist/src/core/textures/RenderTexture.d.ts +28 -0
  96. package/dist/src/core/textures/RenderTexture.js +52 -0
  97. package/dist/src/core/textures/RenderTexture.js.map +1 -0
  98. package/dist/src/core/utils.d.ts +6 -1
  99. package/dist/src/core/utils.js +74 -82
  100. package/dist/src/core/utils.js.map +1 -1
  101. package/dist/src/main-api/INode.d.ts +9 -0
  102. package/dist/src/main-api/RendererMain.js +4 -3
  103. package/dist/src/main-api/RendererMain.js.map +1 -1
  104. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +3 -0
  105. package/dist/src/render-drivers/main/MainOnlyNode.js +29 -0
  106. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  107. package/dist/src/render-drivers/main/MainOnlyTextNode.js +2 -3
  108. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  109. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +3 -0
  110. package/dist/src/render-drivers/threadx/NodeStruct.js +9 -0
  111. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
  112. package/dist/src/render-drivers/threadx/SharedNode.d.ts +1 -0
  113. package/dist/src/render-drivers/threadx/SharedNode.js +1 -0
  114. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
  115. package/dist/src/render-drivers/threadx/TextNodeStruct.js +3 -1
  116. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
  117. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +2 -0
  118. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  119. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +3 -0
  120. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +7 -0
  121. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  122. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +1 -0
  123. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  124. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +1 -0
  125. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  126. package/dist/src/render-drivers/threadx/worker/renderer.js +1 -0
  127. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  128. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  129. package/package.json +2 -2
  130. package/src/core/CoreNode.ts +164 -8
  131. package/src/core/CoreShaderManager.ts +6 -3
  132. package/src/core/CoreTextNode.ts +25 -0
  133. package/src/core/CoreTextureManager.ts +3 -0
  134. package/src/core/Stage.ts +32 -11
  135. package/src/core/TextureMemoryManager.ts +3 -1
  136. package/src/core/lib/ImageWorker.ts +12 -7
  137. package/src/core/lib/Matrix3d.ts +144 -190
  138. package/src/core/lib/WebGlContextWrapper.ts +51 -1
  139. package/src/core/renderers/CoreRenderer.ts +15 -1
  140. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +59 -14
  141. package/src/core/renderers/canvas/CanvasCoreTexture.ts +24 -18
  142. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +6 -3
  143. package/src/core/renderers/canvas/internal/ColorUtils.ts +6 -6
  144. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +2 -3
  145. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -0
  146. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +26 -24
  147. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +4 -2
  148. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +166 -33
  149. package/src/core/renderers/webgl/WebGlCoreShader.ts +29 -4
  150. package/src/core/renderers/webgl/shaders/DefaultShader.ts +4 -6
  151. package/src/core/renderers/webgl/shaders/SdfShader.ts +6 -1
  152. package/src/core/text-rendering/TextRenderingUtils.ts +36 -0
  153. package/src/core/text-rendering/TextTextureRendererUtils.ts +74 -0
  154. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +41 -12
  155. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +2 -0
  156. package/src/core/text-rendering/font-face-types/TrFontFace.ts +86 -1
  157. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +13 -7
  158. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +52 -20
  159. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +59 -13
  160. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +36 -8
  161. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +38 -5
  162. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +5 -2
  163. package/src/core/text-rendering/renderers/TextRenderer.ts +17 -10
  164. package/src/core/textures/RenderTexture.ts +81 -0
  165. package/src/core/utils.ts +101 -93
  166. package/src/main-api/INode.ts +11 -0
  167. package/src/main-api/RendererMain.ts +4 -3
  168. package/src/render-drivers/main/MainOnlyNode.ts +44 -0
  169. package/src/render-drivers/main/MainOnlyTextNode.ts +2 -3
  170. package/src/render-drivers/threadx/NodeStruct.ts +10 -0
  171. package/src/render-drivers/threadx/SharedNode.ts +2 -0
  172. package/src/render-drivers/threadx/TextNodeStruct.ts +3 -1
  173. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +2 -0
  174. package/src/render-drivers/threadx/ThreadXMainNode.ts +9 -0
  175. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +1 -0
  176. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +1 -0
  177. package/src/render-drivers/threadx/worker/renderer.ts +1 -0
@@ -1,65 +1,67 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- // Matrix3d is a 3x3 matrix in column-major order because that's how WebGL likes it.
3
- // The matrix is stored in a Float32Array in the following order:
4
- // | 0 3 6 |
5
- // | 1 4 7 |
6
- // | 2 5 8 |
7
- // The following constants are used to index into the array in a row-major way.
8
- const m0 = 0;
9
- const m1 = 3;
10
- const m2 = 6;
11
- const m3 = 1;
12
- const m4 = 4;
13
- const m5 = 7;
14
- const m6 = 2;
15
- const m7 = 5;
16
- const m8 = 8;
17
- /**
18
- * A 3x3 matrix representing a 2D transformation.
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
19
4
  *
20
- * @remarks
21
- * The matrix is stored in column-major order in the `data` property which can
22
- * be passed directly to a WebGL shader uniform.
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
23
6
  *
24
- * The matrix is stored in a Float32Array in the following index order:
25
- * | 0 3 6 |
26
- * | 1 4 7 |
27
- * | 2 5 8 |
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
28
10
  *
29
- * Only the first two rows are really used for the transformation. The last row is
30
- * generally always `[0, 0, 1]` if you only use the 2D transformation methods
31
- * provided by this class.
11
+ * http://www.apache.org/licenses/LICENSE-2.0
32
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
+ /**
20
+ * A 3D matrix representing a 2D graphics transformation
21
+ *
22
+ * @remarks
33
23
  * For convenience, entries in the first two rows can be accessed by the following
34
- * getter properties:
24
+ * properties:
35
25
  * | ta tb tx |
36
26
  * | tc td ty |
37
27
  * | 0 0 1 |
28
+ *
29
+ * This matrix is optimized for 2D transformations and hence the last row will
30
+ * always be considered [0, 0 ,1].
31
+ *
32
+ * To access a column major array for WebGL, use the {@link getFloatArr} method.
38
33
  */
39
34
  export class Matrix3d {
40
- data;
35
+ ta;
36
+ tb;
37
+ tx;
38
+ tc;
39
+ td;
40
+ ty;
41
+ _floatArr = null;
42
+ /**
43
+ * Potential Mutation Flag
44
+ *
45
+ * @remarks
46
+ * This flag is set to true whenever the matrix is potentially modified.
47
+ * We don't waste CPU trying to identify if each operation actually modifies
48
+ * the matrix. Instead, we set this flag to true whenever we think the matrix
49
+ * is modified. This signals that the `floatArr` should to be updated.
50
+ */
51
+ mutation;
41
52
  /**
42
53
  * Creates a new 3x3 matrix.
43
54
  *
44
55
  * @param entries Row-major 3x3 matrix
45
56
  */
46
- constructor(entries) {
47
- if (entries) {
48
- // Transpose the input matrix so that it's in column-major order.
49
- this.data = new Float32Array(9);
50
- this.data[m0] = entries[0];
51
- this.data[m1] = entries[3];
52
- this.data[m2] = entries[6];
53
- this.data[m3] = entries[1];
54
- this.data[m4] = entries[4];
55
- this.data[m5] = entries[7];
56
- this.data[m6] = entries[2];
57
- this.data[m7] = entries[5];
58
- this.data[m8] = entries[8];
59
- }
60
- else {
61
- this.data = new Float32Array(9);
62
- }
57
+ constructor() {
58
+ this.ta = 0;
59
+ this.tb = 0;
60
+ this.tx = 0;
61
+ this.tc = 0;
62
+ this.td = 0;
63
+ this.ty = 0;
64
+ this.mutation = true;
63
65
  }
64
66
  /**
65
67
  * Returns a temporary matrix that can be used for calculations.
@@ -75,90 +77,61 @@ export class Matrix3d {
75
77
  return tempMatrix;
76
78
  }
77
79
  static multiply(a, b, out) {
78
- const e0 = a.data[m0] * b.data[m0] +
79
- a.data[m1] * b.data[m3] +
80
- a.data[m2] * b.data[m6];
81
- const e1 = a.data[m0] * b.data[m1] +
82
- a.data[m1] * b.data[m4] +
83
- a.data[m2] * b.data[m7];
84
- const e2 = a.data[m0] * b.data[m2] +
85
- a.data[m1] * b.data[m5] +
86
- a.data[m2] * b.data[m8];
87
- const e3 = a.data[m3] * b.data[m0] +
88
- a.data[m4] * b.data[m3] +
89
- a.data[m5] * b.data[m6];
90
- const e4 = a.data[m3] * b.data[m1] +
91
- a.data[m4] * b.data[m4] +
92
- a.data[m5] * b.data[m7];
93
- const e5 = a.data[m3] * b.data[m2] +
94
- a.data[m4] * b.data[m5] +
95
- a.data[m5] * b.data[m8];
96
- const e6 = a.data[m6] * b.data[m0] +
97
- a.data[m7] * b.data[m3] +
98
- a.data[m8] * b.data[m6];
99
- const e7 = a.data[m6] * b.data[m1] +
100
- a.data[m7] * b.data[m4] +
101
- a.data[m8] * b.data[m7];
102
- const e8 = a.data[m6] * b.data[m2] +
103
- a.data[m7] * b.data[m5] +
104
- a.data[m8] * b.data[m8];
80
+ const e0 = a.ta * b.ta + a.tb * b.tc;
81
+ const e1 = a.ta * b.tb + a.tb * b.td;
82
+ const e2 = a.ta * b.tx + a.tb * b.ty + a.tx;
83
+ const e3 = a.tc * b.ta + a.td * b.tc;
84
+ const e4 = a.tc * b.tb + a.td * b.td;
85
+ const e5 = a.tc * b.tx + a.td * b.ty + a.ty;
105
86
  if (!out) {
106
87
  out = new Matrix3d();
107
88
  }
108
- out.data[m0] = e0;
109
- out.data[m1] = e1;
110
- out.data[m2] = e2;
111
- out.data[m3] = e3;
112
- out.data[m4] = e4;
113
- out.data[m5] = e5;
114
- out.data[m6] = e6;
115
- out.data[m7] = e7;
116
- out.data[m8] = e8;
89
+ out.ta = e0;
90
+ out.tb = e1;
91
+ out.tx = e2;
92
+ out.tc = e3;
93
+ out.td = e4;
94
+ out.ty = e5;
95
+ out.mutation = true;
117
96
  return out;
118
97
  }
119
98
  static identity(out) {
120
99
  if (!out) {
121
100
  out = new Matrix3d();
122
101
  }
123
- out.data[m0] = 1;
124
- out.data[m1] = 0;
125
- out.data[m2] = 0;
126
- out.data[m3] = 0;
127
- out.data[m4] = 1;
128
- out.data[m5] = 0;
129
- out.data[m6] = 0;
130
- out.data[m7] = 0;
131
- out.data[m8] = 1;
102
+ out.ta = 1;
103
+ out.tb = 0;
104
+ out.tx = 0;
105
+ out.tc = 0;
106
+ out.td = 1;
107
+ out.ty = 0;
108
+ out.mutation = true;
132
109
  return out;
133
110
  }
134
111
  static translate(x, y, out) {
135
112
  if (!out) {
136
113
  out = new Matrix3d();
137
114
  }
138
- out.data[m0] = 1;
139
- out.data[m1] = 0;
140
- out.data[m2] = x;
141
- out.data[m3] = 0;
142
- out.data[m4] = 1;
143
- out.data[m5] = y;
144
- out.data[m6] = 0;
145
- out.data[m7] = 0;
146
- out.data[m8] = 1;
115
+ out.ta = 1;
116
+ out.tb = 0;
117
+ out.tx = x;
118
+ out.tc = 0;
119
+ out.td = 1;
120
+ out.ty = y;
121
+ out.mutation = true;
147
122
  return out;
148
123
  }
149
124
  static scale(sx, sy, out) {
150
125
  if (!out) {
151
126
  out = new Matrix3d();
152
127
  }
153
- out.data[m0] = sx;
154
- out.data[m1] = 0;
155
- out.data[m2] = 0;
156
- out.data[m3] = 0;
157
- out.data[m4] = sy;
158
- out.data[m5] = 0;
159
- out.data[m6] = 0;
160
- out.data[m7] = 0;
161
- out.data[m8] = 1;
128
+ out.ta = sx;
129
+ out.tb = 0;
130
+ out.tx = 0;
131
+ out.tc = 0;
132
+ out.td = sy;
133
+ out.ty = 0;
134
+ out.mutation = true;
162
135
  return out;
163
136
  }
164
137
  static rotate(angle, out) {
@@ -167,42 +140,40 @@ export class Matrix3d {
167
140
  if (!out) {
168
141
  out = new Matrix3d();
169
142
  }
170
- out.data[m0] = cos;
171
- out.data[m1] = -sin;
172
- out.data[m2] = 0;
173
- out.data[m3] = sin;
174
- out.data[m4] = cos;
175
- out.data[m5] = 0;
176
- out.data[m6] = 0;
177
- out.data[m7] = 0;
178
- out.data[m8] = 1;
143
+ out.ta = cos;
144
+ out.tb = -sin;
145
+ out.tx = 0;
146
+ out.tc = sin;
147
+ out.td = cos;
148
+ out.ty = 0;
149
+ out.mutation = true;
179
150
  return out;
180
151
  }
181
- static copy(src, dst, transpose) {
152
+ static copy(src, dst) {
182
153
  if (!dst) {
183
154
  dst = new Matrix3d();
184
155
  }
185
- dst.data[0] = src.data[0];
186
- dst.data[1] = src.data[1];
187
- dst.data[2] = src.data[2];
188
- dst.data[3] = src.data[3];
189
- dst.data[4] = src.data[4];
190
- dst.data[5] = src.data[5];
191
- dst.data[6] = src.data[6];
192
- dst.data[7] = src.data[7];
193
- dst.data[8] = src.data[8];
156
+ dst.ta = src.ta;
157
+ dst.tc = src.tc;
158
+ dst.tb = src.tb;
159
+ dst.td = src.td;
160
+ dst.tx = src.tx;
161
+ dst.ty = src.ty;
162
+ dst.mutation = true;
194
163
  return dst;
195
164
  }
196
165
  translate(x, y) {
197
- this.data[m2] = this.data[m0] * x + this.data[m1] * y + this.data[m2];
198
- this.data[m5] = this.data[m3] * x + this.data[m4] * y + this.data[m5];
166
+ this.tx = this.ta * x + this.tb * y + this.tx;
167
+ this.ty = this.tc * x + this.td * y + this.ty;
168
+ this.mutation = true;
199
169
  return this;
200
170
  }
201
171
  scale(sx, sy) {
202
- this.data[m0] = this.data[m0] * sx;
203
- this.data[m1] = this.data[m1] * sy;
204
- this.data[m3] = this.data[m3] * sx;
205
- this.data[m4] = this.data[m4] * sy;
172
+ this.ta = this.ta * sx;
173
+ this.tb = this.tb * sy;
174
+ this.tc = this.tc * sx;
175
+ this.td = this.td * sy;
176
+ this.mutation = true;
206
177
  return this;
207
178
  }
208
179
  rotate(angle) {
@@ -211,42 +182,48 @@ export class Matrix3d {
211
182
  }
212
183
  const cos = Math.cos(angle);
213
184
  const sin = Math.sin(angle);
214
- const e0 = this.data[m0] * cos + this.data[m1] * sin;
215
- const e1 = this.data[m1] * cos - this.data[m0] * sin;
216
- const e3 = this.data[m3] * cos + this.data[m4] * sin;
217
- const e4 = this.data[m4] * cos - this.data[m3] * sin;
218
- this.data[m0] = e0;
219
- this.data[m1] = e1;
220
- this.data[m3] = e3;
221
- this.data[m4] = e4;
185
+ const e0 = this.ta * cos + this.tb * sin;
186
+ const e1 = this.tb * cos - this.ta * sin;
187
+ const e3 = this.tc * cos + this.td * sin;
188
+ const e4 = this.td * cos - this.tc * sin;
189
+ this.ta = e0;
190
+ this.tb = e1;
191
+ this.tc = e3;
192
+ this.td = e4;
193
+ this.mutation = true;
222
194
  return this;
223
195
  }
224
196
  multiply(other) {
225
197
  return Matrix3d.multiply(this, other, this);
226
198
  }
227
- get tx() {
228
- return this.data[m2];
229
- }
230
- get ty() {
231
- return this.data[m5];
232
- }
233
- get ta() {
234
- return this.data[m0];
235
- }
236
- get tb() {
237
- return this.data[m1];
238
- }
239
- get tc() {
240
- return this.data[m3];
241
- }
242
- get td() {
243
- return this.data[m4];
244
- }
245
- transformPoint(x, y) {
246
- return [
247
- this.data[m0] * x + this.data[m1] * y + this.data[m2],
248
- this.data[m3] * x + this.data[m4] * y + this.data[m3],
249
- ];
199
+ /**
200
+ * Returns the matrix as a Float32Array in column-major order.
201
+ *
202
+ * @remarks
203
+ * This method is optimized to avoid unnecessary allocations. The same array
204
+ * is returned every time this method is called, and is updated in place.
205
+ *
206
+ * WARNING: Use the array only for passing directly to a WebGL shader uniform
207
+ * during a frame render. Do not modify or hold onto the array for longer than
208
+ * a frame.
209
+ */
210
+ getFloatArr() {
211
+ if (!this._floatArr) {
212
+ this._floatArr = new Float32Array(9);
213
+ }
214
+ if (this.mutation) {
215
+ this._floatArr[0] = this.ta;
216
+ this._floatArr[1] = this.tc;
217
+ this._floatArr[2] = 0;
218
+ this._floatArr[3] = this.tb;
219
+ this._floatArr[4] = this.td;
220
+ this._floatArr[5] = 0;
221
+ this._floatArr[6] = this.tx;
222
+ this._floatArr[7] = this.ty;
223
+ this._floatArr[8] = 1;
224
+ this.mutation = false;
225
+ }
226
+ return this._floatArr;
250
227
  }
251
228
  }
252
229
  const tempMatrix = new Matrix3d();
@@ -1 +1 @@
1
- {"version":3,"file":"Matrix3d.js","sourceRoot":"","sources":["../../../../src/core/lib/Matrix3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Matrix3d.js","sourceRoot":"","sources":["../../../../src/core/lib/Matrix3d.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ export declare class WebGlContextWrapper {
56
56
  readonly RGBA: 6408;
57
57
  readonly UNSIGNED_BYTE: 5121;
58
58
  readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;
59
+ readonly UNPACK_FLIP_Y_WEBGL: 37440;
59
60
  readonly FLOAT: 5126;
60
61
  readonly TRIANGLES: 4;
61
62
  readonly UNSIGNED_SHORT: 5123;
@@ -67,6 +68,7 @@ export declare class WebGlContextWrapper {
67
68
  readonly COMPILE_STATUS: 35713;
68
69
  readonly LINK_STATUS: 35714;
69
70
  readonly DYNAMIC_DRAW: 35048;
71
+ readonly COLOR_ATTACHMENT0: 36064;
70
72
  constructor(gl: WebGLRenderingContext | WebGL2RenderingContext);
71
73
  /**
72
74
  * Returns true if the WebGL context is WebGL2
@@ -234,12 +236,35 @@ export declare class WebGlContextWrapper {
234
236
  blendFunc(src: GLenum, dst: GLenum): void;
235
237
  /**
236
238
  * ```
237
- * createBuffer();
239
+ * gl.createBuffer();
238
240
  * ```
239
241
  *
240
242
  * @returns
241
243
  */
242
244
  createBuffer(): WebGLBuffer | null;
245
+ /**
246
+ * ```
247
+ * gl.createFramebuffer();
248
+ * ```
249
+ * @returns
250
+ */
251
+ createFramebuffer(): WebGLFramebuffer | null;
252
+ /**
253
+ * ```
254
+ * gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
255
+ * ```
256
+ *
257
+ * @param framebuffer
258
+ */
259
+ bindFramebuffer(framebuffer: WebGLFramebuffer | null): void;
260
+ /**
261
+ * ```
262
+ * gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
263
+ * ```
264
+ * @remarks
265
+ * **WebGL Difference**: Bind target is always `gl.FRAMEBUFFER` and textarget is always `gl.TEXTURE_2D`
266
+ */
267
+ framebufferTexture2D(attachment: GLenum, texture: WebGLTexture | null, level: GLint): void;
243
268
  /**
244
269
  * ```
245
270
  * gl.clear(gl.COLOR_BUFFER_BIT);
@@ -66,6 +66,7 @@ export class WebGlContextWrapper {
66
66
  RGBA;
67
67
  UNSIGNED_BYTE;
68
68
  UNPACK_PREMULTIPLY_ALPHA_WEBGL;
69
+ UNPACK_FLIP_Y_WEBGL;
69
70
  FLOAT;
70
71
  TRIANGLES;
71
72
  UNSIGNED_SHORT;
@@ -77,6 +78,7 @@ export class WebGlContextWrapper {
77
78
  COMPILE_STATUS;
78
79
  LINK_STATUS;
79
80
  DYNAMIC_DRAW;
81
+ COLOR_ATTACHMENT0;
80
82
  //#endregion WebGL Enums
81
83
  constructor(gl) {
82
84
  this.gl = gl;
@@ -133,6 +135,7 @@ export class WebGlContextWrapper {
133
135
  this.RGBA = gl.RGBA;
134
136
  this.UNSIGNED_BYTE = gl.UNSIGNED_BYTE;
135
137
  this.UNPACK_PREMULTIPLY_ALPHA_WEBGL = gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL;
138
+ this.UNPACK_FLIP_Y_WEBGL = gl.UNPACK_FLIP_Y_WEBGL;
136
139
  this.FLOAT = gl.FLOAT;
137
140
  this.TRIANGLES = gl.TRIANGLES;
138
141
  this.UNSIGNED_SHORT = gl.UNSIGNED_SHORT;
@@ -147,6 +150,7 @@ export class WebGlContextWrapper {
147
150
  this.COMPILE_STATUS = gl.COMPILE_STATUS;
148
151
  this.LINK_STATUS = gl.LINK_STATUS;
149
152
  this.DYNAMIC_DRAW = gl.DYNAMIC_DRAW;
153
+ this.COLOR_ATTACHMENT0 = gl.COLOR_ATTACHMENT0;
150
154
  }
151
155
  /**
152
156
  * Returns true if the WebGL context is WebGL2
@@ -401,7 +405,7 @@ export class WebGlContextWrapper {
401
405
  }
402
406
  /**
403
407
  * ```
404
- * createBuffer();
408
+ * gl.createBuffer();
405
409
  * ```
406
410
  *
407
411
  * @returns
@@ -410,6 +414,38 @@ export class WebGlContextWrapper {
410
414
  const { gl } = this;
411
415
  return gl.createBuffer();
412
416
  }
417
+ /**
418
+ * ```
419
+ * gl.createFramebuffer();
420
+ * ```
421
+ * @returns
422
+ */
423
+ createFramebuffer() {
424
+ const { gl } = this;
425
+ return gl.createFramebuffer();
426
+ }
427
+ /**
428
+ * ```
429
+ * gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
430
+ * ```
431
+ *
432
+ * @param framebuffer
433
+ */
434
+ bindFramebuffer(framebuffer) {
435
+ const { gl } = this;
436
+ gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
437
+ }
438
+ /**
439
+ * ```
440
+ * gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
441
+ * ```
442
+ * @remarks
443
+ * **WebGL Difference**: Bind target is always `gl.FRAMEBUFFER` and textarget is always `gl.TEXTURE_2D`
444
+ */
445
+ framebufferTexture2D(attachment, texture, level) {
446
+ const { gl } = this;
447
+ gl.framebufferTexture2D(gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, texture, level);
448
+ }
413
449
  /**
414
450
  * ```
415
451
  * gl.clear(gl.COLOR_BUFFER_BIT);
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { Dimensions } from '../../common/CommonTypes.js';
2
+ import type { CoreNode } from '../CoreNode.js';
1
3
  import type { CoreShaderManager } from '../CoreShaderManager.js';
2
4
  import type { CoreTextureManager, TextureOptions } from '../CoreTextureManager.js';
3
5
  import type { Stage } from '../Stage.js';
@@ -27,6 +29,9 @@ export interface QuadOptions {
27
29
  tb: number;
28
30
  tc: number;
29
31
  td: number;
32
+ rtt?: boolean;
33
+ parentHasRenderTexture?: boolean;
34
+ framebufferDimensions?: Dimensions;
30
35
  }
31
36
  export interface CoreRendererOptions {
32
37
  stage: Stage;
@@ -46,10 +51,16 @@ export declare abstract class CoreRenderer {
46
51
  txManager: CoreTextureManager;
47
52
  txMemManager: TextureMemoryManager;
48
53
  shManager: CoreShaderManager;
54
+ rttNodes: CoreNode[];
49
55
  constructor(options: CoreRendererOptions);
50
56
  abstract reset(): void;
51
57
  abstract render(surface?: 'screen' | CoreContextTexture): void;
52
58
  abstract addQuad(quad: QuadOptions): void;
53
59
  abstract createCtxTexture(textureSource: Texture): CoreContextTexture;
54
60
  abstract getShaderManager(): CoreShaderManager;
61
+ abstract get renderToTextureActive(): boolean;
62
+ abstract get activeRttNode(): CoreNode | null;
63
+ abstract renderRTTNodes(): void;
64
+ abstract removeRTTNode(node: CoreNode): void;
65
+ abstract renderToTexture(node: CoreNode): void;
55
66
  }