@lightningjs/renderer 2.9.0-beta2 → 2.9.0-beta4
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.
- package/COPYING +1 -0
- package/LICENSE +202 -202
- package/NOTICE +3 -3
- package/README.md +147 -147
- package/dist/src/core/CoreNode.d.ts +29 -6
- package/dist/src/core/CoreNode.js +118 -79
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +2 -2
- package/dist/src/core/CoreTextNode.js +7 -4
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +61 -15
- package/dist/src/core/CoreTextureManager.js +179 -104
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +7 -0
- package/dist/src/core/Stage.js +34 -1
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.js +2 -5
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.js +31 -28
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +1 -0
- package/dist/src/core/lib/WebGlContextWrapper.js +2 -0
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/renderers/CoreContextTexture.d.ts +1 -0
- package/dist/src/core/renderers/CoreContextTexture.js +1 -0
- package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +13 -5
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +6 -8
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +3 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +1 -2
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +26 -24
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +7 -17
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +12 -12
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +9 -5
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +2 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.d.ts +1 -1
- package/dist/src/core/textures/ColorTexture.js +2 -1
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +8 -1
- package/dist/src/core/textures/ImageTexture.js +39 -1
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/NoiseTexture.d.ts +1 -1
- package/dist/src/core/textures/NoiseTexture.js +2 -1
- package/dist/src/core/textures/NoiseTexture.js.map +1 -1
- package/dist/src/core/textures/RenderTexture.d.ts +1 -1
- package/dist/src/core/textures/RenderTexture.js +2 -1
- package/dist/src/core/textures/RenderTexture.js.map +1 -1
- package/dist/src/core/textures/SubTexture.d.ts +1 -1
- package/dist/src/core/textures/SubTexture.js +21 -4
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +44 -22
- package/dist/src/core/textures/Texture.js +116 -36
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +18 -0
- package/dist/src/main-api/Renderer.js +6 -4
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/canvas.ts +39 -39
- package/exports/index.ts +89 -89
- package/exports/inspector.ts +24 -24
- package/exports/utils.ts +44 -44
- package/exports/webgl.ts +38 -38
- package/package.json +1 -1
- package/scripts/please-use-pnpm.js +13 -13
- package/src/common/CommonTypes.ts +139 -139
- package/src/common/EventEmitter.ts +77 -77
- package/src/common/IAnimationController.ts +92 -92
- package/src/common/IEventEmitter.ts +28 -28
- package/src/core/CoreNode.test.ts +199 -95
- package/src/core/CoreNode.ts +2313 -2258
- package/src/core/CoreShaderManager.ts +292 -292
- package/src/core/CoreTextNode.ts +455 -450
- package/src/core/CoreTextureManager.ts +522 -432
- package/src/core/Stage.ts +700 -652
- package/src/core/TextureMemoryManager.ts +277 -279
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +340 -340
- package/src/core/animations/CoreAnimationController.ts +157 -157
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/ImageWorker.ts +270 -267
- package/src/core/lib/Matrix3d.ts +244 -244
- package/src/core/lib/RenderCoords.ts +86 -86
- package/src/core/lib/WebGlContextWrapper.ts +1322 -1320
- package/src/core/lib/textureCompression.ts +152 -152
- package/src/core/lib/textureSvg.ts +78 -78
- package/src/core/lib/utils.ts +306 -306
- package/src/core/platform.ts +61 -61
- package/src/core/renderers/CoreContextTexture.ts +43 -42
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +114 -114
- package/src/core/renderers/CoreShader.ts +41 -41
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +364 -353
- package/src/core/renderers/canvas/CanvasCoreTexture.ts +150 -149
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
- package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
- package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
- package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -79
- package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -48
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +298 -290
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +805 -817
- package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
- package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
- package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
- package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
- package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
- package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
- package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
- package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
- package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
- package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
- package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
- package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
- package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
- package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
- package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
- package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
- package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
- package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
- package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
- package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
- package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
- package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
- package/src/core/text-rendering/TrFontManager.ts +183 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -171
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +89 -89
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -507
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +798 -798
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +403 -403
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
- package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
- package/src/core/textures/ColorTexture.ts +102 -100
- package/src/core/textures/ImageTexture.ts +378 -337
- package/src/core/textures/NoiseTexture.ts +104 -101
- package/src/core/textures/RenderTexture.ts +85 -83
- package/src/core/textures/SubTexture.ts +171 -146
- package/src/core/textures/Texture.ts +423 -318
- package/src/core/utils.ts +227 -227
- package/src/env.d.ts +7 -7
- package/src/main-api/DynamicShaderController.ts +104 -104
- package/src/main-api/INode.ts +101 -101
- package/src/main-api/Inspector.ts +505 -505
- package/src/main-api/Renderer.ts +693 -670
- package/src/main-api/ShaderController.ts +80 -80
- package/src/main-api/utils.ts +45 -45
- package/src/utils.ts +248 -248
|
@@ -35,7 +35,6 @@ const TRANSPARENT_TEXTURE_DATA = new Uint8Array([0, 0, 0, 0]);
|
|
|
35
35
|
export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
36
36
|
glw;
|
|
37
37
|
_nativeCtxTexture = null;
|
|
38
|
-
_state = 'freed';
|
|
39
38
|
_w = 0;
|
|
40
39
|
_h = 0;
|
|
41
40
|
constructor(glw, memManager, textureSource) {
|
|
@@ -43,8 +42,9 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
43
42
|
this.glw = glw;
|
|
44
43
|
}
|
|
45
44
|
get ctxTexture() {
|
|
46
|
-
if (this.
|
|
45
|
+
if (this.state === 'freed') {
|
|
47
46
|
this.load();
|
|
47
|
+
return null;
|
|
48
48
|
}
|
|
49
49
|
assertTruthy(this._nativeCtxTexture);
|
|
50
50
|
return this._nativeCtxTexture;
|
|
@@ -66,38 +66,38 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
66
66
|
*/
|
|
67
67
|
load() {
|
|
68
68
|
// If the texture is already loading or loaded, don't load it again.
|
|
69
|
-
if (this.
|
|
69
|
+
if (this.state === 'loading' || this.state === 'loaded') {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
-
this.
|
|
73
|
-
this.textureSource.
|
|
72
|
+
this.state = 'loading';
|
|
73
|
+
this.textureSource.setCoreCtxState('loading');
|
|
74
74
|
this._nativeCtxTexture = this.createNativeCtxTexture();
|
|
75
75
|
if (this._nativeCtxTexture === null) {
|
|
76
|
-
this.
|
|
77
|
-
this.textureSource.
|
|
76
|
+
this.state = 'failed';
|
|
77
|
+
this.textureSource.setCoreCtxState('failed', new Error('Could not create WebGL Texture'));
|
|
78
78
|
console.error('Could not create WebGL Texture');
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
this.onLoadRequest()
|
|
82
82
|
.then(({ width, height }) => {
|
|
83
83
|
// If the texture has been freed while loading, return early.
|
|
84
|
-
if (this.
|
|
84
|
+
if (this.state === 'freed') {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
|
-
this.
|
|
87
|
+
this.state = 'loaded';
|
|
88
88
|
this._w = width;
|
|
89
89
|
this._h = height;
|
|
90
90
|
// Update the texture source's width and height so that it can be used
|
|
91
91
|
// for rendering.
|
|
92
|
-
this.textureSource.
|
|
92
|
+
this.textureSource.setCoreCtxState('loaded', { width, height });
|
|
93
93
|
})
|
|
94
94
|
.catch((err) => {
|
|
95
95
|
// If the texture has been freed while loading, return early.
|
|
96
|
-
if (this.
|
|
96
|
+
if (this.state === 'freed') {
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
|
-
this.
|
|
100
|
-
this.textureSource.
|
|
99
|
+
this.state = 'failed';
|
|
100
|
+
this.textureSource.setCoreCtxState('failed', err);
|
|
101
101
|
console.error(err);
|
|
102
102
|
});
|
|
103
103
|
}
|
|
@@ -106,20 +106,22 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
106
106
|
*/
|
|
107
107
|
async onLoadRequest() {
|
|
108
108
|
const { glw } = this;
|
|
109
|
+
const textureData = this.textureSource.textureData;
|
|
110
|
+
assertTruthy(textureData, 'Texture data is null');
|
|
109
111
|
// Set to a 1x1 transparent texture
|
|
110
112
|
glw.texImage2D(0, glw.RGBA, 1, 1, 0, glw.RGBA, glw.UNSIGNED_BYTE, null);
|
|
111
113
|
this.setTextureMemUse(TRANSPARENT_TEXTURE_DATA.byteLength);
|
|
112
|
-
const textureData = await this.textureSource?.getTextureData();
|
|
113
114
|
// If the texture has been freed while loading, return early.
|
|
114
115
|
if (!this._nativeCtxTexture) {
|
|
115
|
-
assertTruthy(this.
|
|
116
|
+
assertTruthy(this.state === 'freed');
|
|
116
117
|
return { width: 0, height: 0 };
|
|
117
118
|
}
|
|
118
119
|
let width = 0;
|
|
119
120
|
let height = 0;
|
|
120
|
-
assertTruthy(this._nativeCtxTexture);
|
|
121
121
|
glw.activeTexture(0);
|
|
122
122
|
const tdata = textureData.data;
|
|
123
|
+
const format = textureData.premultiplyAlpha ? glw.RGBA : glw.RGB;
|
|
124
|
+
const formatBytes = format === glw.RGBA ? 4 : 3;
|
|
123
125
|
// If textureData is null, the texture is empty (0, 0) and we don't need to
|
|
124
126
|
// upload any data to the GPU.
|
|
125
127
|
if ((typeof ImageBitmap !== 'undefined' && tdata instanceof ImageBitmap) ||
|
|
@@ -130,8 +132,8 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
130
132
|
height = tdata.height;
|
|
131
133
|
glw.bindTexture(this._nativeCtxTexture);
|
|
132
134
|
glw.pixelStorei(glw.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !!textureData.premultiplyAlpha);
|
|
133
|
-
glw.texImage2D(0,
|
|
134
|
-
this.setTextureMemUse(width * height *
|
|
135
|
+
glw.texImage2D(0, format, format, glw.UNSIGNED_BYTE, tdata);
|
|
136
|
+
this.setTextureMemUse(width * height * formatBytes);
|
|
135
137
|
// generate mipmaps for power-of-2 textures or in WebGL2RenderingContext
|
|
136
138
|
if (glw.isWebGl2() || (isPowerOfTwo(width) && isPowerOfTwo(height))) {
|
|
137
139
|
glw.generateMipmap();
|
|
@@ -142,7 +144,7 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
142
144
|
height = 0;
|
|
143
145
|
// Reset to a 1x1 transparent texture
|
|
144
146
|
glw.bindTexture(this._nativeCtxTexture);
|
|
145
|
-
glw.texImage2D(0,
|
|
147
|
+
glw.texImage2D(0, format, 1, 1, 0, format, glw.UNSIGNED_BYTE, TRANSPARENT_TEXTURE_DATA);
|
|
146
148
|
this.setTextureMemUse(TRANSPARENT_TEXTURE_DATA.byteLength);
|
|
147
149
|
}
|
|
148
150
|
else if ('mipmaps' in tdata && tdata.mipmaps) {
|
|
@@ -164,8 +166,8 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
164
166
|
height = 1;
|
|
165
167
|
glw.bindTexture(this._nativeCtxTexture);
|
|
166
168
|
glw.pixelStorei(glw.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !!textureData.premultiplyAlpha);
|
|
167
|
-
glw.texImage2D(0,
|
|
168
|
-
this.setTextureMemUse(width * height *
|
|
169
|
+
glw.texImage2D(0, format, width, height, 0, format, glw.UNSIGNED_BYTE, tdata);
|
|
170
|
+
this.setTextureMemUse(width * height * formatBytes);
|
|
169
171
|
}
|
|
170
172
|
else {
|
|
171
173
|
console.error(`WebGlCoreCtxTexture.onLoadRequest: Unexpected textureData returned`, textureData);
|
|
@@ -181,11 +183,11 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
181
183
|
* @returns
|
|
182
184
|
*/
|
|
183
185
|
free() {
|
|
184
|
-
if (this.
|
|
186
|
+
if (this.state === 'freed') {
|
|
185
187
|
return;
|
|
186
188
|
}
|
|
187
|
-
this.
|
|
188
|
-
this.textureSource.
|
|
189
|
+
this.state = 'freed';
|
|
190
|
+
this.textureSource.setCoreCtxState('freed');
|
|
189
191
|
this._w = 0;
|
|
190
192
|
this._h = 0;
|
|
191
193
|
if (!this._nativeCtxTexture) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreCtxTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,wBAAwB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;
|
|
1
|
+
{"version":3,"file":"WebGlCoreCtxTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxTexture.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,6 @@ export declare class WebGlCoreRenderer extends CoreRenderer {
|
|
|
32
32
|
/**
|
|
33
33
|
* White pixel texture used by default when no texture is specified.
|
|
34
34
|
*/
|
|
35
|
-
defaultTexture: Texture;
|
|
36
35
|
quadBufferUsage: number;
|
|
37
36
|
/**
|
|
38
37
|
* Whether the renderer is currently rendering to a texture.
|
|
@@ -22,7 +22,6 @@ import { WebGlCoreRenderOp } from './WebGlCoreRenderOp.js';
|
|
|
22
22
|
import { createIndexBuffer, getWebGlParameters, getWebGlExtensions, } from './internal/RendererUtils.js';
|
|
23
23
|
import { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
|
|
24
24
|
import { Texture, TextureType } from '../../textures/Texture.js';
|
|
25
|
-
import { ColorTexture } from '../../textures/ColorTexture.js';
|
|
26
25
|
import { SubTexture } from '../../textures/SubTexture.js';
|
|
27
26
|
import { WebGlCoreCtxSubTexture } from './WebGlCoreCtxSubTexture.js';
|
|
28
27
|
import { CoreShaderManager } from '../../CoreShaderManager.js';
|
|
@@ -32,7 +31,6 @@ import { WebGlCoreShader } from './WebGlCoreShader.js';
|
|
|
32
31
|
import { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
|
|
33
32
|
import { RenderTexture } from '../../textures/RenderTexture.js';
|
|
34
33
|
import { WebGlCoreCtxRenderTexture } from './WebGlCoreCtxRenderTexture.js';
|
|
35
|
-
import { ImageTexture } from '../../textures/ImageTexture.js';
|
|
36
34
|
const WORDS_PER_QUAD = 24;
|
|
37
35
|
export class WebGlCoreRenderer extends CoreRenderer {
|
|
38
36
|
//// WebGL Native Context and Data
|
|
@@ -59,7 +57,6 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
59
57
|
/**
|
|
60
58
|
* White pixel texture used by default when no texture is specified.
|
|
61
59
|
*/
|
|
62
|
-
defaultTexture;
|
|
63
60
|
quadBufferUsage = 0;
|
|
64
61
|
/**
|
|
65
62
|
* Whether the renderer is currently rendering to a texture.
|
|
@@ -72,16 +69,6 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
72
69
|
this.uiQuadBuffer = new Uint32Array(this.quadBuffer);
|
|
73
70
|
this.mode = 'webgl';
|
|
74
71
|
const { canvas, clearColor, bufferMemory } = options;
|
|
75
|
-
this.defaultTexture = new ColorTexture(this.txManager);
|
|
76
|
-
// Mark the default texture as ALWAYS renderable
|
|
77
|
-
// This prevents it from ever being cleaned up.
|
|
78
|
-
// Fixes https://github.com/lightning-js/renderer/issues/262
|
|
79
|
-
this.defaultTexture.setRenderableOwner(this, true);
|
|
80
|
-
// When the default texture is loaded, request a render in case the
|
|
81
|
-
// RAF is paused. Fixes: https://github.com/lightning-js/renderer/issues/123
|
|
82
|
-
this.defaultTexture.once('loaded', () => {
|
|
83
|
-
this.stage.requestRender();
|
|
84
|
-
});
|
|
85
72
|
const gl = createWebGLContext(canvas, options.forceWebGL2, options.contextSpy);
|
|
86
73
|
const glw = (this.glw = new WebGlContextWrapper(gl));
|
|
87
74
|
glw.viewport(0, 0, canvas.width, canvas.height);
|
|
@@ -173,7 +160,8 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
173
160
|
*/
|
|
174
161
|
addQuad(params) {
|
|
175
162
|
const { fQuadBuffer, uiQuadBuffer } = this;
|
|
176
|
-
let texture = params.texture
|
|
163
|
+
let texture = params.texture;
|
|
164
|
+
assertTruthy(texture !== null, 'Texture is required');
|
|
177
165
|
/**
|
|
178
166
|
* If the shader props contain any automatic properties, update it with the
|
|
179
167
|
* current dimensions and or alpha that will be used to render the quad.
|
|
@@ -188,7 +176,6 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
188
176
|
params.shaderProps.$alpha = params.alpha;
|
|
189
177
|
}
|
|
190
178
|
}
|
|
191
|
-
assertTruthy(texture.ctxTexture !== undefined, 'Invalid texture type');
|
|
192
179
|
let { curBufferIdx: bufferIdx, curRenderOp } = this;
|
|
193
180
|
const targetDims = { width: -1, height: -1 };
|
|
194
181
|
targetDims.width = params.width;
|
|
@@ -196,7 +183,6 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
196
183
|
const targetShader = params.shader || this.defaultShader;
|
|
197
184
|
assertTruthy(targetShader.getUniformLocation !== undefined, 'Invalid WebGL shader');
|
|
198
185
|
if (this.reuseRenderOp(params) === false) {
|
|
199
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
200
186
|
this.newRenderOp(targetShader, params.shaderProps, params.alpha, targetDims, params.clippingRect, bufferIdx, params.rtt, params.parentHasRenderTexture, params.framebufferDimensions);
|
|
201
187
|
curRenderOp = this.curRenderOp;
|
|
202
188
|
assertTruthy(curRenderOp);
|
|
@@ -253,7 +239,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
253
239
|
[texCoordY1, texCoordY2] = [texCoordY2, texCoordY1];
|
|
254
240
|
}
|
|
255
241
|
const ctxTexture = texture.ctxTexture;
|
|
256
|
-
assertTruthy(ctxTexture
|
|
242
|
+
assertTruthy(ctxTexture instanceof WebGlCoreCtxTexture);
|
|
257
243
|
const textureIdx = this.addTexture(ctxTexture, bufferIdx);
|
|
258
244
|
assertTruthy(this.curRenderOp !== null);
|
|
259
245
|
if (params.renderCoords) {
|
|
@@ -541,6 +527,10 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
541
527
|
if (!node || !node.hasRTTupdates) {
|
|
542
528
|
continue;
|
|
543
529
|
}
|
|
530
|
+
if (!node.texture || !node.texture.ctxTexture) {
|
|
531
|
+
console.warn('Texture not loaded for RTT node', node);
|
|
532
|
+
continue;
|
|
533
|
+
}
|
|
544
534
|
// Set the active RTT node to the current node
|
|
545
535
|
// So we can prevent rendering children of nested RTT nodes
|
|
546
536
|
this.activeRttNode = node;
|
|
@@ -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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"}
|
|
@@ -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
|
}
|