@babylonjs/smart-filters 0.1.0-alpha → 0.2.0-alpha
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/blocks/copyBlock.d.ts +3 -4
- package/dist/blocks/copyBlock.d.ts.map +1 -1
- package/dist/blocks/copyBlock.js.map +1 -1
- package/dist/connection/connectionPointType.d.ts +6 -3
- package/dist/connection/connectionPointType.d.ts.map +1 -1
- package/dist/connection/connectionPointType.js +2 -0
- package/dist/connection/connectionPointType.js.map +1 -1
- package/dist/optimization/optimizedShaderBlock.d.ts +3 -3
- package/dist/optimization/optimizedShaderBlock.d.ts.map +1 -1
- package/dist/optimization/optimizedShaderBlock.js.map +1 -1
- package/dist/runtime/renderTargetGenerator.d.ts.map +1 -1
- package/dist/runtime/renderTargetGenerator.js +3 -1
- package/dist/runtime/renderTargetGenerator.js.map +1 -1
- package/package.json +2 -1
- package/src/blocks/baseBlock.ts +1 -1
- package/src/blocks/copyBlock.ts +3 -4
- package/src/connection/connectionPointType.ts +6 -2
- package/src/optimization/optimizedShaderBlock.ts +6 -5
- package/src/runtime/renderTargetGenerator.ts +5 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { Effect } from "@babylonjs/core/Materials/effect";
|
|
2
|
-
import type { ThinTexture } from "@babylonjs/core/Materials/Textures/thinTexture";
|
|
3
2
|
import type { ShaderProgram } from "../utils/shaderCodeUtils";
|
|
4
3
|
import type { SmartFilter } from "../smartFilter";
|
|
5
|
-
import type { StrongRef } from "../runtime/strongRef";
|
|
6
4
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
7
5
|
import { ShaderBlock } from "./shaderBlock.js";
|
|
8
6
|
import { ShaderBinding } from "../runtime/shaderRuntime.js";
|
|
7
|
+
import type { RuntimeData } from "../connection/connectionPoint";
|
|
9
8
|
/**
|
|
10
9
|
* The shader bindings for the Copy block.
|
|
11
10
|
*/
|
|
@@ -16,7 +15,7 @@ export declare class CopyShaderBinding extends ShaderBinding {
|
|
|
16
15
|
* @param parentBlock - The parent block
|
|
17
16
|
* @param inputTexture - defines the input texture to copy
|
|
18
17
|
*/
|
|
19
|
-
constructor(parentBlock: CopyBlock, inputTexture:
|
|
18
|
+
constructor(parentBlock: CopyBlock, inputTexture: RuntimeData<ConnectionPointType.Texture>);
|
|
20
19
|
/**
|
|
21
20
|
* Binds all the required data to the shader when rendering.
|
|
22
21
|
* @param effect - defines the effect to bind the data to
|
|
@@ -39,7 +38,7 @@ export declare class CopyBlock extends ShaderBlock {
|
|
|
39
38
|
/**
|
|
40
39
|
* The input connection point of the block.
|
|
41
40
|
*/
|
|
42
|
-
readonly input: import("
|
|
41
|
+
readonly input: import("../connection/connectionPoint").ConnectionPoint<ConnectionPointType.Texture>;
|
|
43
42
|
/**
|
|
44
43
|
* The shader program (vertex and fragment code) to use to render the block
|
|
45
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/copyBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"copyBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/copyBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAuBjE;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IAEzE;;;;OAIG;gBACS,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC;IAK1F;;;;OAIG;IACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG7C;AAED;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACtC;;OAEG;IACH,OAAuB,SAAS,SAAe;IAE/C;;OAEG;IACH,SAAgB,KAAK,uFAA6D;IAElF;;OAEG;IACH,OAAuB,UAAU,gBAAiB;IAElD;;;;OAIG;gBACS,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAIlD;;;OAGG;IACI,gBAAgB,IAAI,aAAa;CAS3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyBlock.js","sourceRoot":"","sources":["../../src/blocks/copyBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"copyBlock.js","sourceRoot":"","sources":["../../src/blocks/copyBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,aAAa,GAAkB;IACjC,QAAQ,EAAE;QACN,OAAO,EAAE;;SAER;QAED,gBAAgB,EAAE,QAAQ;QAE1B,SAAS,EAAE;YACP;gBACI,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE;;;;iBAIL;aACJ;SACJ;KACJ;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAGhD;;;;OAIG;IACH,YAAY,WAAsB,EAAE,YAAsD;QACtF,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACa,IAAI,CAAC,MAAc;QAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,WAAW;IAgBtC;;;;OAIG;IACH,YAAY,WAAwB,EAAE,IAAY;QAC9C,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAhB7B;;WAEG;QACa,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAclF,CAAC;IAED;;;OAGG;IACI,gBAAgB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAErC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,wDAAwD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;;AApCD;;GAEG;AACoB,mBAAS,GAAG,WAAW,AAAd,CAAe;AAO/C;;GAEG;AACoB,oBAAU,GAAG,aAAa,AAAhB,CAAiB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ThinTexture } from "@babylonjs/core/Materials/Textures/thinTexture";
|
|
2
|
-
import type { IColor3Like, IColor4Like } from "@babylonjs/core/Maths/math.like";
|
|
2
|
+
import type { IColor3Like, IColor4Like, IVector2Like } from "@babylonjs/core/Maths/math.like";
|
|
3
|
+
import type { Nullable } from "@babylonjs/core/types";
|
|
3
4
|
/**
|
|
4
5
|
* Defines the type of a connection point.
|
|
5
6
|
*/
|
|
@@ -13,10 +14,12 @@ export declare enum ConnectionPointType {
|
|
|
13
14
|
/** Color4 */
|
|
14
15
|
Color4 = 4,
|
|
15
16
|
/** Boolean */
|
|
16
|
-
Boolean = 5
|
|
17
|
+
Boolean = 5,
|
|
18
|
+
/** Vector2 */
|
|
19
|
+
Vector2 = 6
|
|
17
20
|
}
|
|
18
21
|
/**
|
|
19
22
|
* Retrieves the type of the value from the Connection point type.
|
|
20
23
|
*/
|
|
21
|
-
export type ConnectionPointValue<T extends ConnectionPointType = ConnectionPointType> = T extends ConnectionPointType.Float ? number : T extends ConnectionPointType.Texture ? ThinTexture : T extends ConnectionPointType.Color3 ? IColor3Like : T extends ConnectionPointType.Color4 ? IColor4Like : T extends ConnectionPointType.Boolean ? boolean : never;
|
|
24
|
+
export type ConnectionPointValue<T extends ConnectionPointType = ConnectionPointType> = T extends ConnectionPointType.Float ? number : T extends ConnectionPointType.Texture ? Nullable<ThinTexture> : T extends ConnectionPointType.Color3 ? IColor3Like : T extends ConnectionPointType.Color4 ? IColor4Like : T extends ConnectionPointType.Boolean ? boolean : T extends ConnectionPointType.Vector2 ? IVector2Like : never;
|
|
22
25
|
//# sourceMappingURL=connectionPointType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionPointType.d.ts","sourceRoot":"","sources":["../../src/connection/connectionPointType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"connectionPointType.d.ts","sourceRoot":"","sources":["../../src/connection/connectionPointType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,oBAAY,mBAAmB;IAC3B,YAAY;IACZ,KAAK,IAAI;IACT,cAAc;IACd,OAAO,IAAI;IACX,aAAa;IACb,MAAM,IAAI;IACV,aAAa;IACb,MAAM,IAAI;IACV,cAAc;IACd,OAAO,IAAI;IACX,cAAc;IACd,OAAO,IAAI;CACd;AAED;;GAEG;AAEH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IAChF,CAAC,SAAS,mBAAmB,CAAC,KAAK,GAAG,MAAM,GAC5C,CAAC,SAAS,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAC7D,CAAC,SAAS,mBAAmB,CAAC,MAAM,GAAG,WAAW,GAClD,CAAC,SAAS,mBAAmB,CAAC,MAAM,GAAG,WAAW,GAClD,CAAC,SAAS,mBAAmB,CAAC,OAAO,GAAG,OAAO,GAC/C,CAAC,SAAS,mBAAmB,CAAC,OAAO,GAAG,YAAY,GACpD,KAAK,CAAC"}
|
|
@@ -13,5 +13,7 @@ export var ConnectionPointType;
|
|
|
13
13
|
ConnectionPointType[ConnectionPointType["Color4"] = 4] = "Color4";
|
|
14
14
|
/** Boolean */
|
|
15
15
|
ConnectionPointType[ConnectionPointType["Boolean"] = 5] = "Boolean";
|
|
16
|
+
/** Vector2 */
|
|
17
|
+
ConnectionPointType[ConnectionPointType["Vector2"] = 6] = "Vector2";
|
|
16
18
|
})(ConnectionPointType || (ConnectionPointType = {}));
|
|
17
19
|
//# sourceMappingURL=connectionPointType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionPointType.js","sourceRoot":"","sources":["../../src/connection/connectionPointType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connectionPointType.js","sourceRoot":"","sources":["../../src/connection/connectionPointType.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC3B,YAAY;IACZ,+DAAS,CAAA;IACT,cAAc;IACd,mEAAW,CAAA;IACX,aAAa;IACb,iEAAU,CAAA;IACV,aAAa;IACb,iEAAU,CAAA;IACV,cAAc;IACd,mEAAW,CAAA;IACX,cAAc;IACd,mEAAW,CAAA;AACf,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Effect } from "@babylonjs/core/Materials/effect";
|
|
2
|
-
import type { ThinTexture } from "@babylonjs/core/Materials/Textures/thinTexture";
|
|
3
2
|
import type { SmartFilter } from "../smartFilter";
|
|
4
3
|
import type { ShaderProgram } from "../utils/shaderCodeUtils";
|
|
5
|
-
import type {
|
|
4
|
+
import type { RuntimeData } from "../connection/connectionPoint";
|
|
6
5
|
import { ShaderBlock } from "../blocks/shaderBlock.js";
|
|
7
6
|
import { Binding } from "../runtime/shaderRuntime.js";
|
|
7
|
+
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
8
8
|
/**
|
|
9
9
|
* The shader bindings for the OptimizedShader block.
|
|
10
10
|
* @internal
|
|
@@ -18,7 +18,7 @@ export declare class OptimizedShaderBinding extends Binding {
|
|
|
18
18
|
* @param inputTextures - The list of input textures to bind
|
|
19
19
|
*/
|
|
20
20
|
constructor(shaderBindings: Binding[], inputTextures: {
|
|
21
|
-
[name: string]:
|
|
21
|
+
[name: string]: RuntimeData<ConnectionPointType.Texture>;
|
|
22
22
|
});
|
|
23
23
|
/**
|
|
24
24
|
* Binds all the required data to the shader when rendering.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizedShaderBlock.d.ts","sourceRoot":"","sources":["../../src/optimization/optimizedShaderBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"optimizedShaderBlock.d.ts","sourceRoot":"","sources":["../../src/optimization/optimizedShaderBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,OAAO;IAC/C,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,cAAc,CAA+D;IAErF;;;;OAIG;gBAEC,cAAc,EAAE,OAAO,EAAE,EACzB,aAAa,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;KAAE;IAQ/E;;;;;OAKG;IACa,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAW5E;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACjD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,cAAc,CAAoE;IAC1F,OAAO,CAAC,cAAc,CAAgB;IAEtC;;OAEG;IACH,OAAuB,SAAS,SAA0B;IAE1D;;OAEG;IACH,IAAoB,OAAO,IAAI,OAAO,CAErC;IAED;;;;OAIG;gBACS,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAOlD;;;OAGG;IACa,gBAAgB,IAAI,aAAa;IAIjD;;;OAGG;IACI,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI3D;;;OAGG;IACI,iBAAiB,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI;IAIzD;;;OAGG;IACI,gBAAgB,IAAI,OAAO;CAmBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizedShaderBlock.js","sourceRoot":"","sources":["../../src/optimization/optimizedShaderBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"optimizedShaderBlock.js","sourceRoot":"","sources":["../../src/optimization/optimizedShaderBlock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IAI/C;;;;OAIG;IACH,YACI,cAAyB,EACzB,aAA2E;QAE3E,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACa,IAAI,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;QAC9D,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,wEAAwE;YACxE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,OAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAUjD;;OAEG;IACH,IAAoB,OAAO;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,YAAY,WAAwB,EAAE,IAAY;QAC9C,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QArB3B,mBAAc,GAAiE,EAAE,CAAC;QAuBtF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,SAAgB,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACa,gBAAgB;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,aAA4B;QAChD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,cAAyB;QAC9C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,gBAAgB;QACnB,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAExB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBAC7C;;;mBAGG;gBACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAuD,CAAC;YAC9F,CAAC;QACL,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjF,CAAC;;AAtED;;GAEG;AACoB,8BAAS,GAAG,sBAAsB,AAAzB,CAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTargetGenerator.d.ts","sourceRoot":"","sources":["../../src/runtime/renderTargetGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqBtE;;GAEG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,kBAAkB,CAAC;IAE3B;;;OAGG;gBACS,QAAQ,UAAO;IAM3B;;OAEG;IACH,IAAW,iBAAiB,WAE3B;IAED;;;;OAIG;IACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"renderTargetGenerator.d.ts","sourceRoot":"","sources":["../../src/runtime/renderTargetGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqBtE;;GAEG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,kBAAkB,CAAC;IAE3B;;;OAGG;gBACS,QAAQ,UAAO;IAM3B;;OAEG;IACH,IAAW,iBAAiB,WAE3B;IAED;;;;OAIG;IACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB;IAqDnF,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,eAAe;IAoBvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CA6BzB"}
|
|
@@ -59,7 +59,9 @@ export class RenderTargetGenerator {
|
|
|
59
59
|
continue;
|
|
60
60
|
}
|
|
61
61
|
const connectedBlock = input.connectedTo.ownerBlock;
|
|
62
|
-
if (connectedBlock instanceof ShaderBlock &&
|
|
62
|
+
if (connectedBlock instanceof ShaderBlock &&
|
|
63
|
+
connectedBlock.output.runtimeData &&
|
|
64
|
+
connectedBlock.output.runtimeData.value) {
|
|
63
65
|
this._releaseTexture(connectedBlock.output.runtimeData.value, connectedBlock.textureRatio);
|
|
64
66
|
}
|
|
65
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTargetGenerator.js","sourceRoot":"","sources":["../../src/runtime/renderTargetGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAKxG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAiB3E;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAK9B;;;OAGG;IACH,YAAY,QAAQ,GAAG,IAAI;QACvB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,KAAkB,EAAE,kBAAsC;QAC/E,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,kBAAkB,EAClB,CAAC,KAAgB,EAAE,kBAAsC,EAAE,EAAE;YACzD,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;gBAClC,OAAO;YACX,CAAC;YAED,IAAI,iBAAiB,GAAgC,IAAI,CAAC;YAE1D,kGAAkG;YAClG,qIAAqI;YACrI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClF,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAErF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC5B,MAAM,aAAa,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjE,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC;gBAC/D,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC7B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACjC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;4BAClC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gCACvB,iBAAkB,CAAC,QAAQ,EAAE,CAAC;4BAClC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;wBAC/E,SAAS;oBACb,CAAC;oBACD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;oBACpD,
|
|
1
|
+
{"version":3,"file":"renderTargetGenerator.js","sourceRoot":"","sources":["../../src/runtime/renderTargetGenerator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@babylonjs/smart-filters",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0-alpha",
|
|
4
4
|
"description": "Babylon.js Smart Filter core and common block library",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Sebastien VANDENBERGHE"
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"clean": "rimraf dist && rimraf tsconfig.build.tsbuildinfo",
|
|
40
40
|
"versionUp": "node tools/versionUp.js",
|
|
41
41
|
"build": "tsc -p ./tsconfig.build.json",
|
|
42
|
+
"watch": "tsc -p ./tsconfig.build.json --watch",
|
|
42
43
|
"test": "echo \"Error: run test from the root of the monorepo\" && exit 1"
|
|
43
44
|
},
|
|
44
45
|
"peerDependencies": {
|
package/src/blocks/baseBlock.ts
CHANGED
|
@@ -220,7 +220,7 @@ export abstract class BaseBlock implements ICommandOwner {
|
|
|
220
220
|
// Check if any inputs are Textures which aren't yet ready, and if so, ensure init waits for them to be ready
|
|
221
221
|
for (const input of this._inputs) {
|
|
222
222
|
if (input.type === ConnectionPointType.Texture) {
|
|
223
|
-
const texture = input.runtimeData?.value as
|
|
223
|
+
const texture = input.runtimeData?.value as ConnectionPointValue<ConnectionPointType.Texture>;
|
|
224
224
|
if (texture && !texture.isReady()) {
|
|
225
225
|
const internalTexture = texture.getInternalTexture();
|
|
226
226
|
if (internalTexture) {
|
package/src/blocks/copyBlock.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { Effect } from "@babylonjs/core/Materials/effect";
|
|
2
|
-
import type { ThinTexture } from "@babylonjs/core/Materials/Textures/thinTexture";
|
|
3
2
|
|
|
4
3
|
import type { ShaderProgram } from "../utils/shaderCodeUtils";
|
|
5
4
|
import type { SmartFilter } from "../smartFilter";
|
|
6
|
-
import type { StrongRef } from "../runtime/strongRef";
|
|
7
5
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
8
6
|
import { ShaderBlock } from "./shaderBlock.js";
|
|
9
7
|
import { ShaderBinding } from "../runtime/shaderRuntime.js";
|
|
8
|
+
import type { RuntimeData } from "../connection/connectionPoint";
|
|
10
9
|
|
|
11
10
|
const shaderProgram: ShaderProgram = {
|
|
12
11
|
fragment: {
|
|
@@ -33,14 +32,14 @@ const shaderProgram: ShaderProgram = {
|
|
|
33
32
|
* The shader bindings for the Copy block.
|
|
34
33
|
*/
|
|
35
34
|
export class CopyShaderBinding extends ShaderBinding {
|
|
36
|
-
private readonly _inputTexture:
|
|
35
|
+
private readonly _inputTexture: RuntimeData<ConnectionPointType.Texture>;
|
|
37
36
|
|
|
38
37
|
/**
|
|
39
38
|
* Creates a new shader binding instance for the copy block.
|
|
40
39
|
* @param parentBlock - The parent block
|
|
41
40
|
* @param inputTexture - defines the input texture to copy
|
|
42
41
|
*/
|
|
43
|
-
constructor(parentBlock: CopyBlock, inputTexture:
|
|
42
|
+
constructor(parentBlock: CopyBlock, inputTexture: RuntimeData<ConnectionPointType.Texture>) {
|
|
44
43
|
super(parentBlock);
|
|
45
44
|
this._inputTexture = inputTexture;
|
|
46
45
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ThinTexture } from "@babylonjs/core/Materials/Textures/thinTexture";
|
|
2
|
-
import type { IColor3Like, IColor4Like } from "@babylonjs/core/Maths/math.like";
|
|
2
|
+
import type { IColor3Like, IColor4Like, IVector2Like } from "@babylonjs/core/Maths/math.like";
|
|
3
|
+
import type { Nullable } from "@babylonjs/core/types";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Defines the type of a connection point.
|
|
@@ -15,6 +16,8 @@ export enum ConnectionPointType {
|
|
|
15
16
|
Color4 = 4,
|
|
16
17
|
/** Boolean */
|
|
17
18
|
Boolean = 5,
|
|
19
|
+
/** Vector2 */
|
|
20
|
+
Vector2 = 6,
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
/**
|
|
@@ -23,8 +26,9 @@ export enum ConnectionPointType {
|
|
|
23
26
|
// prettier-ignore
|
|
24
27
|
export type ConnectionPointValue<T extends ConnectionPointType = ConnectionPointType> =
|
|
25
28
|
T extends ConnectionPointType.Float ? number :
|
|
26
|
-
T extends ConnectionPointType.Texture ? ThinTexture :
|
|
29
|
+
T extends ConnectionPointType.Texture ? Nullable<ThinTexture> :
|
|
27
30
|
T extends ConnectionPointType.Color3 ? IColor3Like :
|
|
28
31
|
T extends ConnectionPointType.Color4 ? IColor4Like :
|
|
29
32
|
T extends ConnectionPointType.Boolean ? boolean :
|
|
33
|
+
T extends ConnectionPointType.Vector2 ? IVector2Like :
|
|
30
34
|
never;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { Effect } from "@babylonjs/core/Materials/effect";
|
|
2
2
|
import type { Nullable } from "@babylonjs/core/types";
|
|
3
|
-
import type { ThinTexture } from "@babylonjs/core/Materials/Textures/thinTexture";
|
|
4
3
|
|
|
5
4
|
import type { SmartFilter } from "../smartFilter";
|
|
6
5
|
import type { ShaderProgram } from "../utils/shaderCodeUtils";
|
|
7
|
-
import type { StrongRef } from "../runtime/strongRef";
|
|
8
6
|
import type { RuntimeData } from "../connection/connectionPoint";
|
|
9
7
|
import { ShaderBlock } from "../blocks/shaderBlock.js";
|
|
10
8
|
import { Binding } from "../runtime/shaderRuntime.js";
|
|
@@ -16,14 +14,17 @@ import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
|
16
14
|
*/
|
|
17
15
|
export class OptimizedShaderBinding extends Binding {
|
|
18
16
|
private _shaderBindings: Binding[];
|
|
19
|
-
private _inputTextures: { [name: string]:
|
|
17
|
+
private _inputTextures: { [name: string]: RuntimeData<ConnectionPointType.Texture> };
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Creates a new shader binding instance for the OptimizedShader block.
|
|
23
21
|
* @param shaderBindings - The list of shader bindings to process
|
|
24
22
|
* @param inputTextures - The list of input textures to bind
|
|
25
23
|
*/
|
|
26
|
-
constructor(
|
|
24
|
+
constructor(
|
|
25
|
+
shaderBindings: Binding[],
|
|
26
|
+
inputTextures: { [name: string]: RuntimeData<ConnectionPointType.Texture> }
|
|
27
|
+
) {
|
|
27
28
|
super();
|
|
28
29
|
|
|
29
30
|
this._shaderBindings = shaderBindings;
|
|
@@ -56,7 +57,7 @@ export class OptimizedShaderBinding extends Binding {
|
|
|
56
57
|
*/
|
|
57
58
|
export class OptimizedShaderBlock extends ShaderBlock {
|
|
58
59
|
private _shaderBindings: Nullable<Binding[]>;
|
|
59
|
-
private _inputTextures: { [name: string]:
|
|
60
|
+
private _inputTextures: { [name: string]: RuntimeData<ConnectionPointType.Texture> } = {};
|
|
60
61
|
private _shaderProgram: ShaderProgram;
|
|
61
62
|
|
|
62
63
|
/**
|
|
@@ -93,7 +93,11 @@ export class RenderTargetGenerator {
|
|
|
93
93
|
continue;
|
|
94
94
|
}
|
|
95
95
|
const connectedBlock = input.connectedTo.ownerBlock;
|
|
96
|
-
if (
|
|
96
|
+
if (
|
|
97
|
+
connectedBlock instanceof ShaderBlock &&
|
|
98
|
+
connectedBlock.output.runtimeData &&
|
|
99
|
+
connectedBlock.output.runtimeData.value
|
|
100
|
+
) {
|
|
97
101
|
this._releaseTexture(connectedBlock.output.runtimeData.value, connectedBlock.textureRatio);
|
|
98
102
|
}
|
|
99
103
|
}
|