@lightningjs/renderer 0.9.2 → 0.9.4
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/main-api.d.ts +1 -1
- package/dist/src/core/CoreNode.js +40 -0
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +3 -2
- package/dist/src/core/CoreShaderManager.js +1 -1
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +35 -0
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/TextureList.d.ts +1 -0
- package/dist/src/core/TextureList.js +34 -0
- package/dist/src/core/TextureList.js.map +1 -0
- package/dist/src/core/lib/ImageWorker.d.ts +0 -1
- package/dist/src/core/lib/ImageWorker.js +1 -6
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +2 -0
- package/dist/src/core/lib/utils.js +21 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/renderers/SpecificNode.d.ts +1 -0
- package/dist/src/core/renderers/SpecificNode.js +19 -0
- package/dist/src/core/renderers/SpecificNode.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +25 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/newShader/abcMock.d.ts +1 -0
- package/dist/src/core/renderers/webgl/newShader/abcMock.js +2 -0
- package/dist/src/core/renderers/webgl/newShader/abcMock.js.map +1 -0
- package/dist/src/core/renderers/webgl/newShader/effectsMock.d.ts +13 -0
- package/dist/src/core/renderers/webgl/newShader/effectsMock.js +62 -0
- package/dist/src/core/renderers/webgl/newShader/effectsMock.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +2 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.js +7 -4
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/effectsMock.d.ts +13 -0
- package/dist/src/effectsMock.js +62 -0
- package/dist/src/effectsMock.js.map +1 -0
- package/dist/src/main-api/DynamicShaderController.d.ts +34 -0
- package/dist/src/main-api/DynamicShaderController.js +54 -0
- package/dist/src/main-api/DynamicShaderController.js.map +1 -0
- package/dist/src/main-api/Renderer.d.ts +29 -14
- package/dist/src/main-api/Renderer.js +19 -14
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/ShaderController.d.ts +36 -0
- package/dist/src/main-api/ShaderController.js +32 -0
- package/dist/src/main-api/ShaderController.js.map +1 -0
- package/dist/src/main-api/utils.d.ts +1 -1
- package/dist/src/render-drivers/utils.js +6 -1
- package/dist/src/render-drivers/utils.js.map +1 -1
- package/dist/src/test.d.ts +1 -0
- package/dist/src/test.js +4 -0
- package/dist/src/test.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/main-api.ts +2 -0
- package/package.json +1 -1
- package/src/core/CoreNode.ts +45 -0
- package/src/core/CoreShaderManager.ts +7 -2
- package/src/core/CoreTextureManager.ts +39 -0
- package/src/core/lib/ImageWorker.ts +1 -7
- package/src/core/lib/utils.ts +27 -0
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +27 -0
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +2 -1
- package/src/core/textures/ImageTexture.ts +8 -4
- package/src/render-drivers/utils.ts +6 -1
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abcMock.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/newShader/abcMock.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ShaderMap } from "../../../CoreShaderManager.js";
|
|
2
|
+
/**
|
|
3
|
+
* Shader Controller Base Interface
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Used directly this interface is like an `any` type for Shader Controllers.
|
|
7
|
+
* But it is also used as a base for more specific Shader Controller interfaces.
|
|
8
|
+
*/
|
|
9
|
+
export interface AnyShaderController {
|
|
10
|
+
type: keyof ShaderMap;
|
|
11
|
+
shader: any;
|
|
12
|
+
props: any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
function createEffect(name, type, props) {
|
|
2
|
+
return {
|
|
3
|
+
name,
|
|
4
|
+
type,
|
|
5
|
+
props
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
const renderer = {};
|
|
9
|
+
// RoundedRectangle Shader
|
|
10
|
+
const node2 = renderer.createNode({
|
|
11
|
+
shader: renderer.createShader('RoundedRectangle', {
|
|
12
|
+
radius: 100
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
node2.shader.props.radius = 200;
|
|
16
|
+
node2.animate({
|
|
17
|
+
shaderProps: {
|
|
18
|
+
radius: 200
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
// Dynamic Shader
|
|
22
|
+
class Effect {
|
|
23
|
+
props;
|
|
24
|
+
constructor(props) {
|
|
25
|
+
this.props = props;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class SomeEffect extends Effect {
|
|
29
|
+
constructor(props) {
|
|
30
|
+
super(props);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class SomeEffect2 extends Effect {
|
|
34
|
+
constructor(props) {
|
|
35
|
+
super(props);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const node = renderer.createNode({
|
|
39
|
+
shader: renderer.createDynamicShader([
|
|
40
|
+
createEffect('e1', 'SomeEffect', { color: 0xff0000 }),
|
|
41
|
+
createEffect('e2', 'SomeEffect2', { color2: 0xff0000 }),
|
|
42
|
+
])
|
|
43
|
+
});
|
|
44
|
+
node.animate({
|
|
45
|
+
x: 12,
|
|
46
|
+
shaderProps: {
|
|
47
|
+
e1: {
|
|
48
|
+
color: 0x00ff00
|
|
49
|
+
},
|
|
50
|
+
e2: {
|
|
51
|
+
color2: 0x00ff00
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
node.shader.props.e1.color = 0x00ff00;
|
|
56
|
+
// Default Shader
|
|
57
|
+
const node3 = renderer.createNode({
|
|
58
|
+
x: 0,
|
|
59
|
+
y: 0
|
|
60
|
+
});
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=effectsMock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effectsMock.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/newShader/effectsMock.ts"],"names":[],"mappings":"AAaA,SAAS,YAAY,CAAoD,IAAU,EAAE,IAAU,EAAE,KAA8D;IAC7J,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AA6JD,MAAM,QAAQ,GAAa,EAAc,CAAC;AAuB1C,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAChD,MAAM,EAAE,GAAG;KACZ,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AAEhC,KAAK,CAAC,OAAO,CAAC;IACZ,WAAW,EAAE;QACX,MAAM,EAAE,GAAG;KACZ;CACF,CAAC,CAAC;AAiBH,iBAAiB;AACjB,MAAM,MAAM;IACV,KAAK,CAAU;IAEf,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAW,SAAQ,MAAM;IAK7B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,MAAM;IAK9B,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAgBD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QACnC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACxD,CAAC;CACH,CAAC,CAAA;AAGF,IAAI,CAAC,OAAO,CAAC;IACX,CAAC,EAAE,EAAE;IACL,WAAW,EAAE;QACX,EAAE,EAAE;YACF,KAAK,EAAE,QAAQ;SAChB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;SACjB;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AAuBtC,iBAAiB;AACjB,MAAM,KAAK,GAAU,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAC,CAAC"}
|
|
@@ -38,7 +38,7 @@ import type { EffectMap } from '../../../CoreShaderManager.js';
|
|
|
38
38
|
* field.
|
|
39
39
|
*/
|
|
40
40
|
type MapEffectDescs<T extends keyof EffectMap> = T extends keyof EffectMap ? SpecificEffectDesc<T> : never;
|
|
41
|
-
type EffectDesc = MapEffectDescs<keyof EffectMap>;
|
|
41
|
+
export type EffectDesc = MapEffectDescs<keyof EffectMap>;
|
|
42
42
|
export interface DynamicShaderProps extends DimensionsShaderProp, AlphaShaderProp {
|
|
43
43
|
effects?: EffectDesc[];
|
|
44
44
|
}
|
|
@@ -47,7 +47,8 @@ export class BorderEffect extends ShaderEffect {
|
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
static onEffectMask = `
|
|
50
|
-
float
|
|
50
|
+
float intR = shaderMask + 1.0;
|
|
51
|
+
float mask = clamp(intR + width, 0.0, 1.0) - clamp(intR, 0.0, 1.0);
|
|
51
52
|
return mix(shaderColor, mix(shaderColor, maskColor, maskColor.a), mask);
|
|
52
53
|
`;
|
|
53
54
|
static onColorize = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BorderEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/BorderEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAoB3B;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAC5C,MAAM,CAAC,eAAe,CAAoB;IACxB,IAAI,GAAG,QAAQ,CAAC;IAElC,MAAM,CAAU,YAAY;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,QAAQ,GAAyB;QAC/C,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,CAAC,IAAI,EAAY,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC;YAChE,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;SACb;KACF,CAAC;IAEF,MAAM,CAAU,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"BorderEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/BorderEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAoB3B;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAC5C,MAAM,CAAC,eAAe,CAAoB;IACxB,IAAI,GAAG,QAAQ,CAAC;IAElC,MAAM,CAAU,YAAY;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,QAAQ,GAAyB;QAC/C,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,CAAC,IAAI,EAAY,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC;YAChE,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;SACb;KACF,CAAC;IAEF,MAAM,CAAU,YAAY,GAAG;;;;GAI9B,CAAC;IAEF,MAAM,CAAU,UAAU,GAAG;;GAE5B,CAAC"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { Texture } from './Texture.js';
|
|
20
20
|
import { isCompressedTextureContainer, loadCompressedTexture, } from '../lib/textureCompression.js';
|
|
21
|
+
import { convertUrlToAbsolute } from '../lib/utils.js';
|
|
21
22
|
/**
|
|
22
23
|
* Texture consisting of an image loaded from a URL
|
|
23
24
|
*
|
|
@@ -64,11 +65,13 @@ export class ImageTexture extends Texture {
|
|
|
64
65
|
if (isCompressedTextureContainer(src)) {
|
|
65
66
|
return loadCompressedTexture(src);
|
|
66
67
|
}
|
|
68
|
+
// Convert relative URL to absolute URL
|
|
69
|
+
const absoluteSrc = convertUrlToAbsolute(src);
|
|
67
70
|
if (this.txManager.imageWorkerManager) {
|
|
68
|
-
return await this.txManager.imageWorkerManager.getImage(
|
|
71
|
+
return await this.txManager.imageWorkerManager.getImage(absoluteSrc, premultiplyAlpha);
|
|
69
72
|
}
|
|
70
73
|
else if (this.txManager.hasCreateImageBitmap) {
|
|
71
|
-
const response = await fetch(
|
|
74
|
+
const response = await fetch(absoluteSrc);
|
|
72
75
|
const blob = await response.blob();
|
|
73
76
|
const hasAlphaChannel = premultiplyAlpha ?? this.hasAlphaChannel(blob.type);
|
|
74
77
|
return {
|
|
@@ -85,7 +88,7 @@ export class ImageTexture extends Texture {
|
|
|
85
88
|
if (!(src.substr(0, 5) === 'data:')) {
|
|
86
89
|
img.crossOrigin = 'Anonymous';
|
|
87
90
|
}
|
|
88
|
-
img.src =
|
|
91
|
+
img.src = absoluteSrc;
|
|
89
92
|
await new Promise((resolve, reject) => {
|
|
90
93
|
img.onload = () => resolve();
|
|
91
94
|
img.onerror = () => reject(new Error(`Failed to load image`));
|
|
@@ -111,7 +114,7 @@ export class ImageTexture extends Texture {
|
|
|
111
114
|
return {
|
|
112
115
|
src: props.src ?? '',
|
|
113
116
|
premultiplyAlpha: props.premultiplyAlpha ?? true,
|
|
114
|
-
key: props.key ?? null
|
|
117
|
+
key: props.key ?? null,
|
|
115
118
|
};
|
|
116
119
|
}
|
|
117
120
|
static z$__type__Props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ShaderMap } from "./core/CoreShaderManager.js";
|
|
2
|
+
/**
|
|
3
|
+
* Shader Controller Base Interface
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Used directly this interface is like an `any` type for Shader Controllers.
|
|
7
|
+
* But it is also used as a base for more specific Shader Controller interfaces.
|
|
8
|
+
*/
|
|
9
|
+
export interface AnyShaderController {
|
|
10
|
+
type: keyof ShaderMap;
|
|
11
|
+
shader: any;
|
|
12
|
+
props: any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
function createEffect(name, type, props) {
|
|
2
|
+
return {
|
|
3
|
+
name,
|
|
4
|
+
type,
|
|
5
|
+
props
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
const renderer = {};
|
|
9
|
+
// RoundedRectangle Shader
|
|
10
|
+
const node2 = renderer.createNode({
|
|
11
|
+
shader: renderer.createShader('RoundedRectangle', {
|
|
12
|
+
radius: 100
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
node2.shader.props.radius = 200;
|
|
16
|
+
node2.animate({
|
|
17
|
+
shaderProps: {
|
|
18
|
+
radius: 200
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
// Dynamic Shader
|
|
22
|
+
class Effect {
|
|
23
|
+
props;
|
|
24
|
+
constructor(props) {
|
|
25
|
+
this.props = props;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class SomeEffect extends Effect {
|
|
29
|
+
constructor(props) {
|
|
30
|
+
super(props);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class SomeEffect2 extends Effect {
|
|
34
|
+
constructor(props) {
|
|
35
|
+
super(props);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const node = renderer.createNode({
|
|
39
|
+
shader: renderer.createDynamicShader([
|
|
40
|
+
createEffect('e1', 'SomeEffect', { color: 0xff0000 }),
|
|
41
|
+
createEffect('e2', 'SomeEffect2', { color2: 0xff0000 }),
|
|
42
|
+
])
|
|
43
|
+
});
|
|
44
|
+
node.animate({
|
|
45
|
+
x: 12,
|
|
46
|
+
shaderProps: {
|
|
47
|
+
e1: {
|
|
48
|
+
color: 0x00ff00
|
|
49
|
+
},
|
|
50
|
+
e2: {
|
|
51
|
+
color2: 0x00ff00
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
node.shader.props.e1.color = 0x00ff00;
|
|
56
|
+
// Default Shader
|
|
57
|
+
const node3 = renderer.createNode({
|
|
58
|
+
x: 0,
|
|
59
|
+
y: 0
|
|
60
|
+
});
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=effectsMock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effectsMock.js","sourceRoot":"","sources":["../../src/effectsMock.ts"],"names":[],"mappings":"AAaA,SAAS,YAAY,CAAoD,IAAU,EAAE,IAAU,EAAE,KAA8D;IAC7J,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AA0JD,MAAM,QAAQ,GAAa,EAAc,CAAC;AAuB1C,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAChD,MAAM,EAAE,GAAG;KACZ,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AAEhC,KAAK,CAAC,OAAO,CAAC;IACZ,WAAW,EAAE;QACX,MAAM,EAAE,GAAG;KACZ;CACF,CAAC,CAAC;AAiBH,iBAAiB;AACjB,MAAM,MAAM;IACV,KAAK,CAAU;IAEf,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAW,SAAQ,MAAM;IAK7B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,MAAM;IAK9B,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAgBD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QACnC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACxD,CAAC;CACH,CAAC,CAAA;AAGF,IAAI,CAAC,OAAO,CAAC;IACX,CAAC,EAAE,EAAE;IACL,WAAW,EAAE;QACX,EAAE,EAAE;YACF,KAAK,EAAE,QAAQ;SAChB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;SACjB;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AAuBtC,iBAAiB;AACjB,MAAM,KAAK,GAAU,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CoreShaderManager, EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
|
|
2
|
+
import type { ExtractProps } from '../core/CoreTextureManager.js';
|
|
3
|
+
import type { EffectDesc } from '../core/renderers/webgl/shaders/DynamicShader.js';
|
|
4
|
+
import type { ShaderController } from './ShaderController.js';
|
|
5
|
+
type MapEffectProps<Effects extends [...{
|
|
6
|
+
name: string;
|
|
7
|
+
type: keyof EffectMap;
|
|
8
|
+
}[]]> = {
|
|
9
|
+
[K in Effects[number] as K['name']]: ExtractProps<EffectMap[K['type']]>;
|
|
10
|
+
};
|
|
11
|
+
export type DynamicEffects<T extends [...{
|
|
12
|
+
name: string;
|
|
13
|
+
type: keyof EffectMap;
|
|
14
|
+
}[]]> = {
|
|
15
|
+
[K in keyof T]: EffectDesc<T[K]>;
|
|
16
|
+
};
|
|
17
|
+
export interface DynamicShaderController<Effects extends [...{
|
|
18
|
+
name: string;
|
|
19
|
+
type: keyof EffectMap;
|
|
20
|
+
}[]]> extends ShaderController<'DynamicShader'> {
|
|
21
|
+
props: MapEffectProps<Effects>;
|
|
22
|
+
}
|
|
23
|
+
export declare class DynamicShaderControllerInstance<Effects extends [...{
|
|
24
|
+
name: string;
|
|
25
|
+
type: keyof EffectMap;
|
|
26
|
+
}[]]> implements DynamicShaderController<Effects> {
|
|
27
|
+
readonly shader: InstanceType<ShaderMap['DynamicShader']>;
|
|
28
|
+
private resolvedProps;
|
|
29
|
+
props: MapEffectProps<Effects>;
|
|
30
|
+
type: 'DynamicShader';
|
|
31
|
+
constructor(shader: InstanceType<ShaderMap['DynamicShader']>, props: ExtractProps<ShaderMap['DynamicShader']>, shManager: CoreShaderManager);
|
|
32
|
+
getResolvedProps(): import("../core/renderers/webgl/shaders/DynamicShader.js").DynamicShaderProps;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export class DynamicShaderControllerInstance {
|
|
2
|
+
shader;
|
|
3
|
+
resolvedProps;
|
|
4
|
+
props;
|
|
5
|
+
type;
|
|
6
|
+
constructor(shader, props, shManager) {
|
|
7
|
+
this.shader = shader;
|
|
8
|
+
this.type = 'DynamicShader';
|
|
9
|
+
this.resolvedProps = props;
|
|
10
|
+
const definedProps = {};
|
|
11
|
+
const effects = props.effects;
|
|
12
|
+
const effectsLength = effects.length;
|
|
13
|
+
let i = 0;
|
|
14
|
+
for (; i < effectsLength; i++) {
|
|
15
|
+
const { name: effectName, props: effectProps, type: effectType, } = effects[i];
|
|
16
|
+
const effectIndex = i;
|
|
17
|
+
const definedEffectProps = {};
|
|
18
|
+
const propEntries = Object.keys(effectProps);
|
|
19
|
+
const propEntriesLength = propEntries.length;
|
|
20
|
+
let j = 0;
|
|
21
|
+
for (; j < propEntriesLength; j++) {
|
|
22
|
+
const propName = propEntries[j];
|
|
23
|
+
Object.defineProperty(definedEffectProps, propName, {
|
|
24
|
+
get: () => {
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
26
|
+
return this.resolvedProps.effects[effectIndex].props[propName].value;
|
|
27
|
+
},
|
|
28
|
+
set: (value) => {
|
|
29
|
+
const target = this.resolvedProps.effects[effectIndex].props[propName];
|
|
30
|
+
target.value = value;
|
|
31
|
+
if (target.programValues.hasValidator) {
|
|
32
|
+
const effectConstructor = shManager.getRegisteredEffects()[effectType];
|
|
33
|
+
value = effectConstructor?.uniforms[propName]?.validator(value, effectProps);
|
|
34
|
+
}
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
value = new Float32Array(value);
|
|
37
|
+
}
|
|
38
|
+
target.programValues.value = value;
|
|
39
|
+
shManager.renderer.stage.requestRender();
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
Object.defineProperty(definedProps, effectName, {
|
|
44
|
+
value: definedEffectProps,
|
|
45
|
+
writable: false,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
this.props = definedProps;
|
|
49
|
+
}
|
|
50
|
+
getResolvedProps() {
|
|
51
|
+
return this.resolvedProps;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=DynamicShaderController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicShaderController.js","sourceRoot":"","sources":["../../../src/main-api/DynamicShaderController.ts"],"names":[],"mappings":"AA2BA,MAAM,OAAO,+BAA+B;IAS/B;IALH,aAAa,CAA2C;IAChE,KAAK,CAA0B;IAC/B,IAAI,CAAkB;IAEtB,YACW,MAAgD,EACzD,KAA+C,EAC/C,SAA4B;QAFnB,WAAM,GAAN,MAAM,CAA0C;QAIzD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAQ,CAAC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,GACjB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAChB,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;gBACjC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE;oBAClD,GAAG,EAAE,GAAG,EAAE;wBACR,+DAA+D;wBAC/D,OACE,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,WAAW,CAAE,CAAC,KAAK,CAC7C,QAAQ,CAEX,CAAC,KAAK,CAAC;oBACV,CAAC;oBACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,WAAW,CAAE,CAAC,KAAK,CAC5D,QAAQ,CACc,CAAC;wBACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBACrB,IAAI,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE;4BACrC,MAAM,iBAAiB,GACrB,SAAS,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC,CAAC;4BAC/C,KAAK,GAAG,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAU,CACvD,KAAK,EACL,WAAW,CACZ,CAAC;yBACH;wBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;4BACxB,KAAK,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;yBACjC;wBACD,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC3C,CAAC;iBACF,CAAC,CAAC;aACJ;YAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;gBAC9C,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,GAAG,YAAuC,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { ShaderMap } from '../core/CoreShaderManager.js';
|
|
1
|
+
import type { EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
|
|
2
2
|
import type { ExtractProps, TextureTypeMap, TextureMap } from '../core/CoreTextureManager.js';
|
|
3
|
-
import type { INodeWritableProps, ITextNodeWritableProps } from './INode.js';
|
|
4
3
|
import { EventEmitter } from '../common/EventEmitter.js';
|
|
5
4
|
import { Stage } from '../core/Stage.js';
|
|
6
5
|
import { CoreNode } from '../core/CoreNode.js';
|
|
7
|
-
import {
|
|
6
|
+
import type { BaseShaderController, ShaderController } from './ShaderController.js';
|
|
7
|
+
import type { INode, INodeProps, ITextNode, ITextNodeProps } from './INode.js';
|
|
8
|
+
import type { DynamicEffects, DynamicShaderController } from './DynamicShaderController.js';
|
|
9
|
+
import type { EffectDesc } from '../core/renderers/webgl/shaders/DynamicShader.js';
|
|
8
10
|
/**
|
|
9
11
|
* An immutable reference to a specific Shader type
|
|
10
12
|
*
|
|
@@ -62,7 +64,7 @@ export interface RendererMainSettings {
|
|
|
62
64
|
*/
|
|
63
65
|
txMemByteThreshold?: number;
|
|
64
66
|
/**
|
|
65
|
-
* Bounds margin to extend the boundary in which a
|
|
67
|
+
* Bounds margin to extend the boundary in which a Node is added as Quad.
|
|
66
68
|
*/
|
|
67
69
|
boundsMargin?: number | [number, number, number, number];
|
|
68
70
|
/**
|
|
@@ -178,7 +180,7 @@ export interface RendererMainSettings {
|
|
|
178
180
|
* ```
|
|
179
181
|
*/
|
|
180
182
|
export declare class RendererMain extends EventEmitter {
|
|
181
|
-
readonly root:
|
|
183
|
+
readonly root: INode<ShaderController<'DefaultShader'>>;
|
|
182
184
|
readonly canvas: HTMLCanvasElement;
|
|
183
185
|
readonly settings: Readonly<Required<RendererMainSettings>>;
|
|
184
186
|
readonly stage: Stage;
|
|
@@ -201,12 +203,12 @@ export declare class RendererMain extends EventEmitter {
|
|
|
201
203
|
*
|
|
202
204
|
* To create a text node, see {@link createTextNode}.
|
|
203
205
|
*
|
|
204
|
-
* See {@link
|
|
206
|
+
* See {@link CoreNode} for more details.
|
|
205
207
|
*
|
|
206
208
|
* @param props
|
|
207
209
|
* @returns
|
|
208
210
|
*/
|
|
209
|
-
createNode(props: Partial<
|
|
211
|
+
createNode<ShCtr extends BaseShaderController = ShaderController<'DefaultShader'>>(props: Partial<INodeProps<ShCtr>>): INode<ShCtr>;
|
|
210
212
|
/**
|
|
211
213
|
* Create a new scene graph text node
|
|
212
214
|
*
|
|
@@ -221,7 +223,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
221
223
|
* @param props
|
|
222
224
|
* @returns
|
|
223
225
|
*/
|
|
224
|
-
createTextNode(props: Partial<
|
|
226
|
+
createTextNode(props: Partial<ITextNodeProps>): ITextNode;
|
|
225
227
|
/**
|
|
226
228
|
* Resolves the default property values for a Node
|
|
227
229
|
*
|
|
@@ -233,7 +235,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
233
235
|
* @param props
|
|
234
236
|
* @returns
|
|
235
237
|
*/
|
|
236
|
-
resolveNodeDefaults
|
|
238
|
+
private resolveNodeDefaults;
|
|
237
239
|
/**
|
|
238
240
|
* Destroy a node
|
|
239
241
|
*
|
|
@@ -243,7 +245,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
243
245
|
* @param node
|
|
244
246
|
* @returns
|
|
245
247
|
*/
|
|
246
|
-
destroyNode(node:
|
|
248
|
+
destroyNode(node: INode): void;
|
|
247
249
|
/**
|
|
248
250
|
* Create a new texture reference
|
|
249
251
|
*
|
|
@@ -261,11 +263,13 @@ export declare class RendererMain extends EventEmitter {
|
|
|
261
263
|
*/
|
|
262
264
|
createTexture<TxType extends keyof TextureTypeMap>(textureType: TxType, props: ExtractProps<TextureTypeMap[TxType]>): TextureMap[TxType];
|
|
263
265
|
/**
|
|
264
|
-
* Create a new shader
|
|
266
|
+
* Create a new shader controller for a shader type
|
|
265
267
|
*
|
|
266
268
|
* @remarks
|
|
267
|
-
* This method creates a new
|
|
268
|
-
*
|
|
269
|
+
* This method creates a new Shader Controller for a specific shader type.
|
|
270
|
+
*
|
|
271
|
+
* If the shader has not been loaded yet, it will be loaded. Otherwise, the
|
|
272
|
+
* existing shader will be reused.
|
|
269
273
|
*
|
|
270
274
|
* It can be assigned to a Node's `shader` property.
|
|
271
275
|
*
|
|
@@ -273,7 +277,18 @@ export declare class RendererMain extends EventEmitter {
|
|
|
273
277
|
* @param props
|
|
274
278
|
* @returns
|
|
275
279
|
*/
|
|
276
|
-
createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: ExtractProps<ShaderMap[ShType]>):
|
|
280
|
+
createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: ExtractProps<ShaderMap[ShType]>): ShaderController<ShType>;
|
|
281
|
+
createDynamicShader<T extends DynamicEffects<[...{
|
|
282
|
+
name: string;
|
|
283
|
+
type: keyof EffectMap;
|
|
284
|
+
}[]]>>(effects: [...T]): DynamicShaderController<T>;
|
|
285
|
+
createEffect<Name extends string, Type extends keyof EffectMap>(name: Name, type: Type, props: EffectDesc<{
|
|
286
|
+
name: Name;
|
|
287
|
+
type: Type;
|
|
288
|
+
}>['props']): EffectDesc<{
|
|
289
|
+
name: Name;
|
|
290
|
+
type: Type;
|
|
291
|
+
}>;
|
|
277
292
|
/**
|
|
278
293
|
* Get a Node by its ID
|
|
279
294
|
*
|
|
@@ -89,7 +89,6 @@ export class RendererMain extends EventEmitter {
|
|
|
89
89
|
canvas.style.height = `${deviceLogicalHeight}px`;
|
|
90
90
|
// Initialize the stage
|
|
91
91
|
this.stage = new Stage({
|
|
92
|
-
rootId: getNewId(),
|
|
93
92
|
appWidth: this.settings.appWidth,
|
|
94
93
|
appHeight: this.settings.appHeight,
|
|
95
94
|
boundsMargin: this.settings.boundsMargin,
|
|
@@ -145,7 +144,7 @@ export class RendererMain extends EventEmitter {
|
|
|
145
144
|
*
|
|
146
145
|
* To create a text node, see {@link createTextNode}.
|
|
147
146
|
*
|
|
148
|
-
* See {@link
|
|
147
|
+
* See {@link CoreNode} for more details.
|
|
149
148
|
*
|
|
150
149
|
* @param props
|
|
151
150
|
* @returns
|
|
@@ -153,11 +152,7 @@ export class RendererMain extends EventEmitter {
|
|
|
153
152
|
createNode(props) {
|
|
154
153
|
assertTruthy(this.stage, 'Stage is not initialized');
|
|
155
154
|
const resolvedProps = this.resolveNodeDefaults(props);
|
|
156
|
-
const node = new CoreNode(this.stage,
|
|
157
|
-
...resolvedProps,
|
|
158
|
-
id: getNewId(),
|
|
159
|
-
shaderProps: null,
|
|
160
|
-
});
|
|
155
|
+
const node = new CoreNode(this.stage, resolvedProps);
|
|
161
156
|
if (this.inspector) {
|
|
162
157
|
return this.inspector.createNode(node, resolvedProps);
|
|
163
158
|
}
|
|
@@ -252,7 +247,7 @@ export class RendererMain extends EventEmitter {
|
|
|
252
247
|
parent: props.parent ?? null,
|
|
253
248
|
texture: props.texture ?? null,
|
|
254
249
|
textureOptions: props.textureOptions ?? {},
|
|
255
|
-
shader: props.shader ??
|
|
250
|
+
shader: props.shader ?? this.stage.defShaderCtr,
|
|
256
251
|
// Since setting the `src` will trigger a texture load, we need to set it after
|
|
257
252
|
// we set the texture. Otherwise, problems happen.
|
|
258
253
|
src: props.src ?? '',
|
|
@@ -304,11 +299,13 @@ export class RendererMain extends EventEmitter {
|
|
|
304
299
|
return this.stage.txManager.loadTexture(textureType, props);
|
|
305
300
|
}
|
|
306
301
|
/**
|
|
307
|
-
* Create a new shader
|
|
302
|
+
* Create a new shader controller for a shader type
|
|
308
303
|
*
|
|
309
304
|
* @remarks
|
|
310
|
-
* This method creates a new
|
|
311
|
-
*
|
|
305
|
+
* This method creates a new Shader Controller for a specific shader type.
|
|
306
|
+
*
|
|
307
|
+
* If the shader has not been loaded yet, it will be loaded. Otherwise, the
|
|
308
|
+
* existing shader will be reused.
|
|
312
309
|
*
|
|
313
310
|
* It can be assigned to a Node's `shader` property.
|
|
314
311
|
*
|
|
@@ -317,10 +314,18 @@ export class RendererMain extends EventEmitter {
|
|
|
317
314
|
* @returns
|
|
318
315
|
*/
|
|
319
316
|
createShader(shaderType, props) {
|
|
317
|
+
return this.stage.shManager.loadShader(shaderType, props);
|
|
318
|
+
}
|
|
319
|
+
createDynamicShader(effects) {
|
|
320
|
+
return this.stage.shManager.loadDynamicShader({
|
|
321
|
+
effects: effects,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
createEffect(name, type, props) {
|
|
320
325
|
return {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
props
|
|
326
|
+
name,
|
|
327
|
+
type,
|
|
328
|
+
props,
|
|
324
329
|
};
|
|
325
330
|
}
|
|
326
331
|
/**
|