@lightningjs/renderer 2.7.1 → 2.8.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.
- package/dist/exports/core-api.d.ts +74 -0
- package/dist/exports/core-api.js +96 -0
- package/dist/exports/core-api.js.map +1 -0
- package/dist/exports/main-api.d.ts +30 -0
- package/dist/exports/main-api.js +45 -0
- package/dist/exports/main-api.js.map +1 -0
- package/dist/src/core/CoreExtension.d.ts +12 -0
- package/dist/src/core/CoreExtension.js +29 -0
- package/dist/src/core/CoreExtension.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +2 -0
- package/dist/src/core/CoreNode.js +27 -8
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreStuff.d.ts +1 -0
- package/dist/src/core/CoreStuff.js +138 -0
- package/dist/src/core/CoreStuff.js.map +1 -0
- package/dist/src/core/LngNode.d.ts +736 -0
- package/dist/src/core/LngNode.js +1174 -0
- package/dist/src/core/LngNode.js.map +1 -0
- package/dist/src/core/Matrix2DContext.d.ts +15 -0
- package/dist/src/core/Matrix2DContext.js +45 -0
- package/dist/src/core/Matrix2DContext.js.map +1 -0
- package/dist/src/core/ShaderNode.d.ts +10 -0
- package/dist/src/core/ShaderNode.js +30 -0
- package/dist/src/core/ShaderNode.js.map +1 -0
- package/dist/src/core/Stage.d.ts +1 -0
- package/dist/src/core/Stage.js +4 -0
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextNode.d.ts +103 -0
- package/dist/src/core/TextNode.js +331 -0
- package/dist/src/core/TextNode.js.map +1 -0
- package/dist/src/core/lib/Coords.d.ts +14 -0
- package/dist/src/core/lib/Coords.js +55 -0
- package/dist/src/core/lib/Coords.js.map +1 -0
- package/dist/src/core/lib/glm/common.d.ts +162 -0
- package/dist/src/core/lib/glm/common.js +81 -0
- package/dist/src/core/lib/glm/common.js.map +1 -0
- package/dist/src/core/lib/glm/index.d.ts +11 -0
- package/dist/src/core/lib/glm/index.js +30 -0
- package/dist/src/core/lib/glm/index.js.map +1 -0
- package/dist/src/core/lib/glm/mat2.d.ts +219 -0
- package/dist/src/core/lib/glm/mat2.js +396 -0
- package/dist/src/core/lib/glm/mat2.js.map +1 -0
- package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
- package/dist/src/core/lib/glm/mat2d.js +442 -0
- package/dist/src/core/lib/glm/mat2d.js.map +1 -0
- package/dist/src/core/lib/glm/mat3.d.ts +283 -0
- package/dist/src/core/lib/glm/mat3.js +680 -0
- package/dist/src/core/lib/glm/mat3.js.map +1 -0
- package/dist/src/core/lib/glm/mat4.d.ts +550 -0
- package/dist/src/core/lib/glm/mat4.js +1802 -0
- package/dist/src/core/lib/glm/mat4.js.map +1 -0
- package/dist/src/core/lib/glm/quat.d.ts +363 -0
- package/dist/src/core/lib/glm/quat.js +693 -0
- package/dist/src/core/lib/glm/quat.js.map +1 -0
- package/dist/src/core/lib/glm/quat2.d.ts +356 -0
- package/dist/src/core/lib/glm/quat2.js +754 -0
- package/dist/src/core/lib/glm/quat2.js.map +1 -0
- package/dist/src/core/lib/glm/vec2.d.ts +365 -0
- package/dist/src/core/lib/glm/vec2.js +569 -0
- package/dist/src/core/lib/glm/vec2.js.map +1 -0
- package/dist/src/core/lib/glm/vec3.d.ts +406 -0
- package/dist/src/core/lib/glm/vec3.js +720 -0
- package/dist/src/core/lib/glm/vec3.js.map +1 -0
- package/dist/src/core/lib/glm/vec4.d.ts +330 -0
- package/dist/src/core/lib/glm/vec4.js +608 -0
- package/dist/src/core/lib/glm/vec4.js.map +1 -0
- package/dist/src/core/renderers/CoreRenderer.d.ts +1 -0
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
- package/dist/src/core/renderers/CoreShaderManager.js +33 -0
- package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +6 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +8 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +8 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +25 -4
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +4 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
- package/dist/src/core/scene/Scene.d.ts +59 -0
- package/dist/src/core/scene/Scene.js +106 -0
- package/dist/src/core/scene/Scene.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +8 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
- package/dist/src/main-api/ICoreDriver.d.ts +27 -0
- package/dist/src/main-api/ICoreDriver.js +20 -0
- package/dist/src/main-api/ICoreDriver.js.map +1 -0
- package/dist/src/main-api/IRenderDriver.d.ts +20 -0
- package/dist/src/main-api/IRenderDriver.js +20 -0
- package/dist/src/main-api/IRenderDriver.js.map +1 -0
- package/dist/src/main-api/IShaderController.d.ts +14 -0
- package/dist/src/main-api/IShaderController.js +30 -0
- package/dist/src/main-api/IShaderController.js.map +1 -0
- package/dist/src/main-api/IShaderNode.d.ts +17 -0
- package/dist/src/main-api/IShaderNode.js +19 -0
- package/dist/src/main-api/IShaderNode.js.map +1 -0
- package/dist/src/main-api/Renderer.d.ts +6 -0
- package/dist/src/main-api/Renderer.js +8 -0
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/RendererMain.d.ts +375 -0
- package/dist/src/main-api/RendererMain.js +365 -0
- package/dist/src/main-api/RendererMain.js.map +1 -0
- package/dist/src/main-api/ShaderController.js.map +1 -1
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +24 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js +118 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +99 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +396 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +205 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +90 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +281 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +39 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +60 -0
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +201 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +234 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +44 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +154 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +177 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +108 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js +145 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
- package/dist/src/render-drivers/utils.d.ts +12 -0
- package/dist/src/render-drivers/utils.js +69 -0
- package/dist/src/render-drivers/utils.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/core/CoreNode.ts +30 -9
- package/src/core/CoreShaderManager.ts +1 -1
- package/src/core/Stage.ts +5 -0
- package/src/core/renderers/CoreRenderer.ts +1 -0
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +9 -0
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +35 -5
- package/src/core/renderers/webgl/internal/RendererUtils.ts +5 -0
- package/src/core/renderers/webgl/shaders/SdfShader.ts +2 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +8 -1
- package/src/main-api/Renderer.ts +9 -0
- package/src/main-api/ShaderController.ts +0 -1
package/src/core/CoreNode.ts
CHANGED
|
@@ -742,6 +742,7 @@ export class CoreNode extends EventEmitter {
|
|
|
742
742
|
public calcZIndex = 0;
|
|
743
743
|
public hasRTTupdates = false;
|
|
744
744
|
public parentHasRenderTexture = false;
|
|
745
|
+
public rttParent: CoreNode | null = null;
|
|
745
746
|
|
|
746
747
|
constructor(readonly stage: Stage, props: CoreNodeProps) {
|
|
747
748
|
super();
|
|
@@ -1134,7 +1135,18 @@ export class CoreNode extends EventEmitter {
|
|
|
1134
1135
|
continue;
|
|
1135
1136
|
}
|
|
1136
1137
|
|
|
1137
|
-
|
|
1138
|
+
let childClippingRect = this.clippingRect;
|
|
1139
|
+
if (this.rtt === true) {
|
|
1140
|
+
childClippingRect = {
|
|
1141
|
+
x: 0,
|
|
1142
|
+
y: 0,
|
|
1143
|
+
width: 0,
|
|
1144
|
+
height: 0,
|
|
1145
|
+
valid: false,
|
|
1146
|
+
};
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
child.update(delta, childClippingRect);
|
|
1138
1150
|
}
|
|
1139
1151
|
}
|
|
1140
1152
|
|
|
@@ -1165,17 +1177,20 @@ export class CoreNode extends EventEmitter {
|
|
|
1165
1177
|
this.childUpdateType = 0;
|
|
1166
1178
|
}
|
|
1167
1179
|
|
|
1168
|
-
private
|
|
1169
|
-
if (this.parent === null) {
|
|
1170
|
-
return;
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1180
|
+
private findParentRTTNode(): CoreNode | null {
|
|
1173
1181
|
let rttNode: CoreNode | null = this.parent;
|
|
1174
|
-
// Traverse up to find the RTT root node
|
|
1175
1182
|
while (rttNode && !rttNode.rtt) {
|
|
1176
1183
|
rttNode = rttNode.parent;
|
|
1177
1184
|
}
|
|
1185
|
+
return rttNode;
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
private notifyParentRTTOfUpdate() {
|
|
1189
|
+
if (this.parent === null) {
|
|
1190
|
+
return;
|
|
1191
|
+
}
|
|
1178
1192
|
|
|
1193
|
+
const rttNode = this.rttParent || this.findParentRTTNode();
|
|
1179
1194
|
if (!rttNode) {
|
|
1180
1195
|
return;
|
|
1181
1196
|
}
|
|
@@ -1266,6 +1281,11 @@ export class CoreNode extends EventEmitter {
|
|
|
1266
1281
|
return CoreNodeRenderState.InViewport;
|
|
1267
1282
|
}
|
|
1268
1283
|
|
|
1284
|
+
// if we are part of a parent render texture, we're always in bounds
|
|
1285
|
+
if (this.parentHasRenderTexture === true) {
|
|
1286
|
+
return CoreNodeRenderState.InBounds;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1269
1289
|
// check if we dont have dimensions, take our parent's render state
|
|
1270
1290
|
if (
|
|
1271
1291
|
this.parent !== null &&
|
|
@@ -1991,7 +2011,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1991
2011
|
}
|
|
1992
2012
|
this.props.rtt = value;
|
|
1993
2013
|
|
|
1994
|
-
if (value) {
|
|
2014
|
+
if (value === true) {
|
|
1995
2015
|
this.initRenderTexture();
|
|
1996
2016
|
this.markChildrenWithRTT();
|
|
1997
2017
|
} else {
|
|
@@ -2000,7 +2020,7 @@ export class CoreNode extends EventEmitter {
|
|
|
2000
2020
|
|
|
2001
2021
|
this.setUpdateType(UpdateType.RenderTexture);
|
|
2002
2022
|
|
|
2003
|
-
if (this.parentHasRenderTexture) {
|
|
2023
|
+
if (this.parentHasRenderTexture === true) {
|
|
2004
2024
|
this.notifyParentRTTOfUpdate();
|
|
2005
2025
|
}
|
|
2006
2026
|
}
|
|
@@ -2054,6 +2074,7 @@ export class CoreNode extends EventEmitter {
|
|
|
2054
2074
|
for (const child of this.children) {
|
|
2055
2075
|
// force child to update everything as the RTT inheritance has changed
|
|
2056
2076
|
child.parentHasRenderTexture = false;
|
|
2077
|
+
child.rttParent = null;
|
|
2057
2078
|
child.setUpdateType(UpdateType.All);
|
|
2058
2079
|
child.clearRTTInheritance();
|
|
2059
2080
|
}
|
package/src/core/Stage.ts
CHANGED
|
@@ -266,6 +266,11 @@ export class Stage {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
+
setClearColor(color: number) {
|
|
270
|
+
this.renderer.updateClearColor(color);
|
|
271
|
+
this.renderRequested = true;
|
|
272
|
+
}
|
|
273
|
+
|
|
269
274
|
updateFrameTime() {
|
|
270
275
|
const newFrameTime = getTimeStamp();
|
|
271
276
|
this.lastFrameTime = this.currentFrameTime;
|
|
@@ -331,4 +331,13 @@ export class CanvasCoreRenderer extends CoreRenderer {
|
|
|
331
331
|
getBufferInfo(): null {
|
|
332
332
|
return null;
|
|
333
333
|
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Updates the clear color of the canvas renderer.
|
|
337
|
+
*
|
|
338
|
+
* @param color - The color to set as the clear color.
|
|
339
|
+
*/
|
|
340
|
+
updateClearColor(color: number) {
|
|
341
|
+
this.clearColor = color ? getRgbaComponents(color) : undefined;
|
|
342
|
+
}
|
|
334
343
|
}
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
type CoreWebGlExtensions,
|
|
33
33
|
getWebGlParameters,
|
|
34
34
|
getWebGlExtensions,
|
|
35
|
+
type WebGlColor,
|
|
35
36
|
} from './internal/RendererUtils.js';
|
|
36
37
|
import { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
|
|
37
38
|
import { Texture, TextureType } from '../../textures/Texture.js';
|
|
@@ -86,6 +87,11 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
86
87
|
defaultShader: WebGlCoreShader;
|
|
87
88
|
quadBufferCollection: BufferCollection;
|
|
88
89
|
|
|
90
|
+
clearColor: WebGlColor = {
|
|
91
|
+
raw: 0x00000000,
|
|
92
|
+
normalized: [0, 0, 0, 0],
|
|
93
|
+
};
|
|
94
|
+
|
|
89
95
|
/**
|
|
90
96
|
* White pixel texture used by default when no texture is specified.
|
|
91
97
|
*/
|
|
@@ -127,10 +133,10 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
127
133
|
options.contextSpy,
|
|
128
134
|
);
|
|
129
135
|
const glw = (this.glw = new WebGlContextWrapper(gl));
|
|
130
|
-
|
|
131
|
-
const color = getNormalizedRgbaComponents(clearColor);
|
|
132
136
|
glw.viewport(0, 0, canvas.width, canvas.height);
|
|
133
|
-
|
|
137
|
+
|
|
138
|
+
this.updateClearColor(clearColor);
|
|
139
|
+
|
|
134
140
|
glw.setBlend(true);
|
|
135
141
|
glw.blendFunc(glw.ONE, glw.ONE_MINUS_SRC_ALPHA);
|
|
136
142
|
|
|
@@ -754,9 +760,9 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
754
760
|
node.hasRTTupdates = false;
|
|
755
761
|
}
|
|
756
762
|
|
|
757
|
-
const
|
|
763
|
+
const clearColor = this.clearColor.normalized;
|
|
758
764
|
// Restore the default clear color
|
|
759
|
-
glw.clearColor(
|
|
765
|
+
glw.clearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]);
|
|
760
766
|
|
|
761
767
|
// Bind the default framebuffer
|
|
762
768
|
glw.bindFramebuffer(null);
|
|
@@ -784,4 +790,28 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
784
790
|
override getDefShaderCtr(): BaseShaderController {
|
|
785
791
|
return this.defShaderCtrl;
|
|
786
792
|
}
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* Updates the WebGL context's clear color and clears the color buffer.
|
|
796
|
+
*
|
|
797
|
+
* @param color - The color to set as the clear color, represented as a 32-bit integer.
|
|
798
|
+
*/
|
|
799
|
+
updateClearColor(color: number) {
|
|
800
|
+
if (this.clearColor.raw === color) {
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
803
|
+
const glw = this.glw;
|
|
804
|
+
const normalizedColor = getNormalizedRgbaComponents(color);
|
|
805
|
+
glw.clearColor(
|
|
806
|
+
normalizedColor[0],
|
|
807
|
+
normalizedColor[1],
|
|
808
|
+
normalizedColor[2],
|
|
809
|
+
normalizedColor[3],
|
|
810
|
+
);
|
|
811
|
+
this.clearColor = {
|
|
812
|
+
raw: color,
|
|
813
|
+
normalized: normalizedColor,
|
|
814
|
+
};
|
|
815
|
+
glw.clear();
|
|
816
|
+
}
|
|
787
817
|
}
|
|
@@ -146,7 +146,14 @@ export class SdfTextRenderer extends TextRenderer<SdfTextRendererState> {
|
|
|
146
146
|
|
|
147
147
|
constructor(stage: Stage) {
|
|
148
148
|
super(stage);
|
|
149
|
-
this.sdfShader = this.stage.shManager.loadShader('SdfShader'
|
|
149
|
+
this.sdfShader = this.stage.shManager.loadShader('SdfShader', {
|
|
150
|
+
transform: new Float32Array(),
|
|
151
|
+
color: 0,
|
|
152
|
+
size: 0,
|
|
153
|
+
scrollY: 0,
|
|
154
|
+
distanceRange: 0,
|
|
155
|
+
debug: false,
|
|
156
|
+
}).shader;
|
|
150
157
|
this.rendererBounds = {
|
|
151
158
|
x1: 0,
|
|
152
159
|
y1: 0,
|
package/src/main-api/Renderer.ts
CHANGED
|
@@ -658,4 +658,13 @@ export class RendererMain extends EventEmitter {
|
|
|
658
658
|
rerender() {
|
|
659
659
|
throw new Error('Not implemented');
|
|
660
660
|
}
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* Sets the clear color for the stage.
|
|
664
|
+
*
|
|
665
|
+
* @param color - The color to set as the clear color.
|
|
666
|
+
*/
|
|
667
|
+
setClearColor(color: number) {
|
|
668
|
+
this.stage.setClearColor(color);
|
|
669
|
+
}
|
|
661
670
|
}
|