@babylonjs/smart-filters 0.4.3-alpha → 0.6.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/baseBlock.d.ts +6 -0
- package/dist/blocks/baseBlock.d.ts.map +1 -1
- package/dist/blocks/baseBlock.js +8 -0
- package/dist/blocks/baseBlock.js.map +1 -1
- package/dist/blocks/customShaderBlock.d.ts +55 -0
- package/dist/blocks/customShaderBlock.d.ts.map +1 -0
- package/dist/blocks/customShaderBlock.js +139 -0
- package/dist/blocks/customShaderBlock.js.map +1 -0
- package/dist/blocks/inputBlock.deserializer.d.ts +1 -1
- package/dist/blocks/inputBlock.deserializer.d.ts.map +1 -1
- package/dist/blocks/inputBlock.serializer.d.ts +1 -1
- package/dist/blocks/inputBlock.serializer.d.ts.map +1 -1
- package/dist/blocks/inputBlock.serializer.js +3 -3
- package/dist/blocks/inputBlock.serializer.js.map +1 -1
- package/dist/blocks/shaderBlock.d.ts +3 -7
- package/dist/blocks/shaderBlock.d.ts.map +1 -1
- package/dist/blocks/shaderBlock.js +45 -15
- package/dist/blocks/shaderBlock.js.map +1 -1
- package/dist/blocks/textureOptions.d.ts +47 -0
- package/dist/blocks/textureOptions.d.ts.map +1 -0
- package/dist/blocks/textureOptions.js +37 -0
- package/dist/blocks/textureOptions.js.map +1 -0
- package/dist/command/command.d.ts +2 -3
- package/dist/command/command.d.ts.map +1 -1
- package/dist/command/command.js.map +1 -1
- package/dist/command/commandBufferDebugger.js +1 -1
- package/dist/command/commandBufferDebugger.js.map +1 -1
- package/dist/connection/connectionPointType.d.ts +4 -0
- package/dist/connection/connectionPointType.d.ts.map +1 -1
- package/dist/editorUtils/editableInPropertyPage.d.ts +4 -0
- package/dist/editorUtils/editableInPropertyPage.d.ts.map +1 -1
- package/dist/editorUtils/editableInPropertyPage.js +1 -0
- package/dist/editorUtils/editableInPropertyPage.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/optimization/smartFilterOptimizer.d.ts +1 -1
- package/dist/optimization/smartFilterOptimizer.d.ts.map +1 -1
- package/dist/optimization/smartFilterOptimizer.js +10 -9
- package/dist/optimization/smartFilterOptimizer.js.map +1 -1
- package/dist/runtime/renderTargetGenerator.d.ts +8 -1
- package/dist/runtime/renderTargetGenerator.d.ts.map +1 -1
- package/dist/runtime/renderTargetGenerator.js +37 -18
- package/dist/runtime/renderTargetGenerator.js.map +1 -1
- package/dist/serialization/importCustomShaderBlockDefinition.d.ts +11 -0
- package/dist/serialization/importCustomShaderBlockDefinition.d.ts.map +1 -0
- package/dist/serialization/importCustomShaderBlockDefinition.js +80 -0
- package/dist/serialization/importCustomShaderBlockDefinition.js.map +1 -0
- package/dist/serialization/index.d.ts +1 -0
- package/dist/serialization/index.d.ts.map +1 -1
- package/dist/serialization/index.js +1 -0
- package/dist/serialization/index.js.map +1 -1
- package/dist/serialization/serializedBlockDefinition.d.ts +7 -0
- package/dist/serialization/serializedBlockDefinition.d.ts.map +1 -0
- package/dist/serialization/serializedBlockDefinition.js +2 -0
- package/dist/serialization/serializedBlockDefinition.js.map +1 -0
- package/dist/serialization/serializedSmartFilter.d.ts +1 -1
- package/dist/serialization/serializedSmartFilter.d.ts.map +1 -1
- package/dist/serialization/smartFilterDeserializer.d.ts +12 -4
- package/dist/serialization/smartFilterDeserializer.d.ts.map +1 -1
- package/dist/serialization/smartFilterDeserializer.js +63 -34
- package/dist/serialization/smartFilterDeserializer.js.map +1 -1
- package/dist/serialization/smartFilterSerializer.d.ts +2 -2
- package/dist/serialization/smartFilterSerializer.d.ts.map +1 -1
- package/dist/serialization/smartFilterSerializer.js +9 -6
- package/dist/serialization/smartFilterSerializer.js.map +1 -1
- package/dist/serialization/v1/blockSerialization.types.d.ts +55 -0
- package/dist/serialization/v1/blockSerialization.types.d.ts.map +1 -0
- package/dist/serialization/v1/blockSerialization.types.js +7 -0
- package/dist/serialization/v1/blockSerialization.types.js.map +1 -0
- package/dist/serialization/v1/defaultBlockSerializer.d.ts +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.d.ts.map +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.js +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.js.map +1 -1
- package/dist/serialization/v1/index.d.ts +1 -1
- package/dist/serialization/v1/index.d.ts.map +1 -1
- package/dist/serialization/v1/index.js +1 -1
- package/dist/serialization/v1/index.js.map +1 -1
- package/dist/serialization/v1/{serialization.types.d.ts → smartFilterSerialization.types.d.ts} +12 -11
- package/dist/serialization/v1/smartFilterSerialization.types.d.ts.map +1 -0
- package/dist/serialization/v1/smartFilterSerialization.types.js +2 -0
- package/dist/serialization/v1/smartFilterSerialization.types.js.map +1 -0
- package/dist/utils/buildTools/buildShaders.js +1 -1
- package/dist/utils/buildTools/buildShaders.js.map +1 -1
- package/dist/utils/buildTools/convertShaderForHardcodedBlock.d.ts +13 -0
- package/dist/utils/buildTools/convertShaderForHardcodedBlock.d.ts.map +1 -0
- package/dist/utils/buildTools/convertShaderForHardcodedBlock.js +116 -0
- package/dist/utils/buildTools/convertShaderForHardcodedBlock.js.map +1 -0
- package/dist/utils/buildTools/shaderCode.types.d.ts +43 -0
- package/dist/utils/buildTools/shaderCode.types.d.ts.map +1 -0
- package/dist/utils/buildTools/shaderCode.types.js +2 -0
- package/dist/utils/buildTools/shaderCode.types.js.map +1 -0
- package/dist/utils/buildTools/shaderConverter.d.ts +56 -8
- package/dist/utils/buildTools/shaderConverter.d.ts.map +1 -1
- package/dist/utils/buildTools/shaderConverter.js +87 -137
- package/dist/utils/buildTools/shaderConverter.js.map +1 -1
- package/dist/utils/buildTools/watchShaders.js +2 -2
- package/dist/utils/buildTools/watchShaders.js.map +1 -1
- package/dist/utils/renderTargetUtils.js +3 -3
- package/dist/utils/renderTargetUtils.js.map +1 -1
- package/dist/utils/shaderCodeUtils.d.ts +1 -42
- package/dist/utils/shaderCodeUtils.d.ts.map +1 -1
- package/dist/utils/shaderCodeUtils.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +19 -15
- package/src/blocks/baseBlock.ts +9 -0
- package/src/blocks/customShaderBlock.ts +217 -0
- package/src/blocks/inputBlock.deserializer.ts +1 -1
- package/src/blocks/inputBlock.serializer.ts +4 -4
- package/src/blocks/shaderBlock.ts +36 -15
- package/src/blocks/textureOptions.ts +57 -0
- package/src/command/command.ts +2 -3
- package/src/command/commandBufferDebugger.ts +1 -1
- package/src/connection/connectionPointType.ts +11 -0
- package/src/editorUtils/editableInPropertyPage.ts +5 -0
- package/src/index.ts +2 -0
- package/src/optimization/smartFilterOptimizer.ts +11 -10
- package/src/runtime/renderTargetGenerator.ts +55 -20
- package/src/serialization/importCustomShaderBlockDefinition.ts +85 -0
- package/src/serialization/index.ts +1 -0
- package/src/serialization/serializedBlockDefinition.ts +7 -0
- package/src/serialization/serializedSmartFilter.ts +1 -1
- package/src/serialization/smartFilterDeserializer.ts +106 -52
- package/src/serialization/smartFilterSerializer.ts +11 -7
- package/src/serialization/v1/blockSerialization.types.ts +63 -0
- package/src/serialization/v1/defaultBlockSerializer.ts +2 -2
- package/src/serialization/v1/index.ts +1 -1
- package/src/serialization/v1/{serialization.types.ts → smartFilterSerialization.types.ts} +11 -10
- package/src/utils/buildTools/buildShaders.ts +1 -1
- package/src/utils/buildTools/convertShaderForHardcodedBlock.ts +149 -0
- package/src/utils/buildTools/shaderCode.types.ts +49 -0
- package/src/utils/buildTools/shaderConverter.ts +158 -178
- package/src/utils/buildTools/watchShaders.ts +2 -2
- package/src/utils/renderTargetUtils.ts +3 -3
- package/src/utils/shaderCodeUtils.ts +1 -50
- package/dist/serialization/v1/serialization.types.d.ts.map +0 -1
- package/dist/serialization/v1/serialization.types.js +0 -2
- package/dist/serialization/v1/serialization.types.js.map +0 -1
|
@@ -36,6 +36,12 @@ export declare abstract class BaseBlock implements ICommandOwner {
|
|
|
36
36
|
* The name of the block. This is used to identify the block in the smart filter or in debug.
|
|
37
37
|
*/
|
|
38
38
|
readonly name: string;
|
|
39
|
+
/**
|
|
40
|
+
* The type of the block - used when serializing / deserializing the block, and in the editor.
|
|
41
|
+
* For programmatically created blocks, this should be the class name of the block.
|
|
42
|
+
* For custom blocks, this is specified in the block definition.
|
|
43
|
+
*/
|
|
44
|
+
get blockType(): string;
|
|
39
45
|
/**
|
|
40
46
|
* User provided comments about the block. It can be used to document the block.
|
|
41
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/baseBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sCAAsC,CAAC;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAIzF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;AAEtF;;;;;;;GAOG;AACH,8BAAsB,SAAU,YAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"baseBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/baseBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sCAAsC,CAAC;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAIzF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;AAEtF;;;;;;;GAOG;AACH,8BAAsB,SAAU,YAAW,aAAa;aAiDhC,mBAAmB;IAhDvC,SAAS,CAAC,MAAM,CAAC,qBAAqB,iBAAwB;IAE9D;;OAEG;IACH,OAAc,SAAS,SAAe;IAEtC;;OAEG;IACH,SAAgB,WAAW,EAAE,WAAW,CAAC;IAEzC;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;OAEG;IACI,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAEzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD;;;;;OAKG;gBAEC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACI,mBAAmB,UAAQ;IAU/C;;OAEG;IACH,IAAW,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,CAElD;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,aAAa,CAAC,eAAe,CAAC,CAEnD;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACI,YAAY,IAAI,MAAM;IAK7B;;;;OAIG;IACI,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAmBhD,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,MAAM,EACnC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,GAC/B,IAAI;IAYP;;;;;;;OAOG;IACI,KAAK,CAAC,CAAC,SAAS,MAAM,EACzB,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,oBAAoB,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GACtC,IAAI;IAeP;;;;OAIG;IACI,SAAS,CAAC,CAAC,SAAS,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAU3F;;;OAGG;IACI,mBAAmB,CAAC,wBAAwB,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,GAAG,IAAI;IAEjG;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAEhC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAMnC;;;;OAIG;IACI,qCAAqC,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IAuBjH;;OAEG;IACI,UAAU,IAAI,IAAI;IAYzB;;;;;;;OAOG;IACI,cAAc,CAAC,CAAC,SAAS,mBAAmB,EAC/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,YAAY,GAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAQ,GAC9C,eAAe,CAAC,CAAC,CAAC;IAMrB;;;;;;;OAOG;IACI,sBAAsB,CAAC,CAAC,SAAS,mBAAmB,EACvD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAC7B,0BAA0B,CAAC,CAAC,CAAC;IAMhC;;;;;;OAMG;IACI,eAAe,CAAC,CAAC,SAAS,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAMhG;;;;;;;OAOG;IACI,0BAA0B,CAAC,CAAC,SAAS,mBAAmB,EAC3D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAC7B,0BAA0B,CAAC,CAAC,CAAC;IAMhC;;;;OAIG;IACH,SAAS,CAAC,2BAA2B,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACrF,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC;CAUpB"}
|
package/dist/blocks/baseBlock.js
CHANGED
|
@@ -12,6 +12,14 @@ import { UniqueIdGenerator } from "../utils/uniqueIdGenerator.js";
|
|
|
12
12
|
* It enforces common behavior for all smart filter blocks.
|
|
13
13
|
*/
|
|
14
14
|
export class BaseBlock {
|
|
15
|
+
/**
|
|
16
|
+
* The type of the block - used when serializing / deserializing the block, and in the editor.
|
|
17
|
+
* For programmatically created blocks, this should be the class name of the block.
|
|
18
|
+
* For custom blocks, this is specified in the block definition.
|
|
19
|
+
*/
|
|
20
|
+
get blockType() {
|
|
21
|
+
return this.getClassName();
|
|
22
|
+
}
|
|
15
23
|
/**
|
|
16
24
|
* Instantiates a new block.
|
|
17
25
|
* @param smartFilter - Defines the smart filter the block belongs to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseBlock.js","sourceRoot":"","sources":["../../src/blocks/baseBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sCAAsC,CAAC;AAGtG,OAAO,EAAE,eAAe,EAAoB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAS;
|
|
1
|
+
{"version":3,"file":"baseBlock.js","sourceRoot":"","sources":["../../src/blocks/baseBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ShaderBinding } from "../runtime/shaderRuntime.js";
|
|
2
|
+
import type { SerializedBlockDefinition } from "../serialization/serializedBlockDefinition";
|
|
3
|
+
import type { SmartFilter } from "../smartFilter";
|
|
4
|
+
import type { ShaderProgram } from "../utils/shaderCodeUtils";
|
|
5
|
+
import { ShaderBlock } from "./shaderBlock.js";
|
|
6
|
+
/**
|
|
7
|
+
* A block which loads a SerializedBlockDefinition for use in a SmartFilter.
|
|
8
|
+
*/
|
|
9
|
+
export declare class CustomShaderBlock extends ShaderBlock {
|
|
10
|
+
/**
|
|
11
|
+
* Deserializes a CustomShaderBlock from a serialized block definition.
|
|
12
|
+
* @param smartFilter - The smart filter this block belongs to
|
|
13
|
+
* @param name - Defines the name of the block
|
|
14
|
+
* @param blockDefinition - The serialized block definition
|
|
15
|
+
* @returns The deserialized CustomShaderBlock instance
|
|
16
|
+
*/
|
|
17
|
+
static Create(smartFilter: SmartFilter, name: string, blockDefinition: SerializedBlockDefinition): CustomShaderBlock;
|
|
18
|
+
/**
|
|
19
|
+
* The class name of the block.
|
|
20
|
+
*/
|
|
21
|
+
static ClassName: string;
|
|
22
|
+
private readonly _shaderProgram;
|
|
23
|
+
private readonly _blockType;
|
|
24
|
+
/**
|
|
25
|
+
* The type of the block - used when serializing / deserializing the block, and in the editor.
|
|
26
|
+
*/
|
|
27
|
+
get blockType(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Instantiates a new custom shader block.
|
|
30
|
+
* @param smartFilter - The smart filter this block belongs to
|
|
31
|
+
* @param name - The name of the block
|
|
32
|
+
* @param disableOptimization - If true, this optimizer will not attempt to optimize this block
|
|
33
|
+
* @param blockType - The type of the block
|
|
34
|
+
* @param inputConnectionPoints - The input connection points of the
|
|
35
|
+
* @param shaderProgram - The shader program for the block
|
|
36
|
+
*/
|
|
37
|
+
private constructor();
|
|
38
|
+
/**
|
|
39
|
+
* Gets the shader program to use to render the block.
|
|
40
|
+
* @returns The shader program to use to render the block
|
|
41
|
+
*/
|
|
42
|
+
getShaderProgram(): ShaderProgram;
|
|
43
|
+
/**
|
|
44
|
+
* Checks a specific input connection point type to see if it has a default value, and registers the input
|
|
45
|
+
* connection point accordingly.
|
|
46
|
+
* @param connectionPoint - The input connection point to register
|
|
47
|
+
*/
|
|
48
|
+
private _registerSerializedInputConnectionPointV1;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the shader binding for the custom shader block.
|
|
51
|
+
* @returns The shader binding for the custom shader block
|
|
52
|
+
*/
|
|
53
|
+
getShaderBinding(): ShaderBinding;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=customShaderBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customShaderBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/customShaderBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAE5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA+D/C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;OAMG;WACW,MAAM,CAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,yBAAyB,GAC3C,iBAAiB;IAapB;;OAEG;IACH,OAAuB,SAAS,SAAuB;IAEvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;OAEG;IACH,IAAoB,SAAS,IAAI,MAAM,CAEtC;IAED;;;;;;;;OAQG;IACH,OAAO;IAkBP;;;OAGG;IACa,gBAAgB;IAIhC;;;;OAIG;IACH,OAAO,CAAC,yCAAyC;IAcjD;;;OAGG;IACa,gBAAgB,IAAI,aAAa;CAapD"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
2
|
+
import { ShaderBinding } from "../runtime/shaderRuntime.js";
|
|
3
|
+
import { createStrongRef } from "../runtime/strongRef.js";
|
|
4
|
+
import { ShaderBlock } from "./shaderBlock.js";
|
|
5
|
+
/**
|
|
6
|
+
* The binding for a CustomShaderBlock
|
|
7
|
+
*/
|
|
8
|
+
class CustomShaderBlockBinding extends ShaderBinding {
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new shader binding instance for the CustomShaderBlock block.
|
|
11
|
+
* @param inputsWithRuntimeData - The input connection points of the block
|
|
12
|
+
*/
|
|
13
|
+
constructor(inputsWithRuntimeData) {
|
|
14
|
+
super();
|
|
15
|
+
this._bindSteps = [];
|
|
16
|
+
for (const input of inputsWithRuntimeData) {
|
|
17
|
+
switch (input.type) {
|
|
18
|
+
case ConnectionPointType.Float:
|
|
19
|
+
this._bindSteps.push((effect) => {
|
|
20
|
+
effect.setFloat(this.getRemappedName(input.name), input.runtimeData.value);
|
|
21
|
+
});
|
|
22
|
+
break;
|
|
23
|
+
case ConnectionPointType.Texture:
|
|
24
|
+
this._bindSteps.push((effect) => {
|
|
25
|
+
effect.setTexture(this.getRemappedName(input.name), input.runtimeData.value);
|
|
26
|
+
});
|
|
27
|
+
break;
|
|
28
|
+
case ConnectionPointType.Color3:
|
|
29
|
+
this._bindSteps.push((effect) => {
|
|
30
|
+
effect.setColor3(this.getRemappedName(input.name), input.runtimeData.value);
|
|
31
|
+
});
|
|
32
|
+
break;
|
|
33
|
+
case ConnectionPointType.Color4:
|
|
34
|
+
this._bindSteps.push((effect) => {
|
|
35
|
+
effect.setDirectColor4(this.getRemappedName(input.name), input.runtimeData.value);
|
|
36
|
+
});
|
|
37
|
+
break;
|
|
38
|
+
case ConnectionPointType.Boolean:
|
|
39
|
+
this._bindSteps.push((effect) => {
|
|
40
|
+
effect.setBool(this.getRemappedName(input.name), input.runtimeData.value);
|
|
41
|
+
});
|
|
42
|
+
break;
|
|
43
|
+
case ConnectionPointType.Vector2:
|
|
44
|
+
this._bindSteps.push((effect) => {
|
|
45
|
+
effect.setVector2(this.getRemappedName(input.name), input.runtimeData.value);
|
|
46
|
+
});
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Binds all the required data to the shader when rendering.
|
|
53
|
+
* @param effect - The effect to bind the data to
|
|
54
|
+
*/
|
|
55
|
+
bind(effect) {
|
|
56
|
+
for (let i = 0; i < this._bindSteps.length; i++) {
|
|
57
|
+
this._bindSteps[i](effect);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A block which loads a SerializedBlockDefinition for use in a SmartFilter.
|
|
63
|
+
*/
|
|
64
|
+
export class CustomShaderBlock extends ShaderBlock {
|
|
65
|
+
/**
|
|
66
|
+
* Deserializes a CustomShaderBlock from a serialized block definition.
|
|
67
|
+
* @param smartFilter - The smart filter this block belongs to
|
|
68
|
+
* @param name - Defines the name of the block
|
|
69
|
+
* @param blockDefinition - The serialized block definition
|
|
70
|
+
* @returns The deserialized CustomShaderBlock instance
|
|
71
|
+
*/
|
|
72
|
+
static Create(smartFilter, name, blockDefinition) {
|
|
73
|
+
// When a new version of SerializedBlockDefinition is created, this function should be updated to handle the new properties.
|
|
74
|
+
return new CustomShaderBlock(smartFilter, name, blockDefinition.disableOptimization, blockDefinition.blockType, blockDefinition.inputConnectionPoints, blockDefinition.shaderProgram);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The type of the block - used when serializing / deserializing the block, and in the editor.
|
|
78
|
+
*/
|
|
79
|
+
get blockType() {
|
|
80
|
+
return this._blockType;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Instantiates a new custom shader block.
|
|
84
|
+
* @param smartFilter - The smart filter this block belongs to
|
|
85
|
+
* @param name - The name of the block
|
|
86
|
+
* @param disableOptimization - If true, this optimizer will not attempt to optimize this block
|
|
87
|
+
* @param blockType - The type of the block
|
|
88
|
+
* @param inputConnectionPoints - The input connection points of the
|
|
89
|
+
* @param shaderProgram - The shader program for the block
|
|
90
|
+
*/
|
|
91
|
+
constructor(smartFilter, name, disableOptimization, blockType, inputConnectionPoints, shaderProgram) {
|
|
92
|
+
super(smartFilter, name, disableOptimization);
|
|
93
|
+
this._blockType = blockType;
|
|
94
|
+
for (const input of inputConnectionPoints) {
|
|
95
|
+
this._registerSerializedInputConnectionPointV1(input);
|
|
96
|
+
}
|
|
97
|
+
this._shaderProgram = shaderProgram;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Gets the shader program to use to render the block.
|
|
101
|
+
* @returns The shader program to use to render the block
|
|
102
|
+
*/
|
|
103
|
+
getShaderProgram() {
|
|
104
|
+
return this._shaderProgram;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Checks a specific input connection point type to see if it has a default value, and registers the input
|
|
108
|
+
* connection point accordingly.
|
|
109
|
+
* @param connectionPoint - The input connection point to register
|
|
110
|
+
*/
|
|
111
|
+
_registerSerializedInputConnectionPointV1(connectionPoint) {
|
|
112
|
+
if (connectionPoint.defaultValue !== undefined) {
|
|
113
|
+
this._registerOptionalInput(connectionPoint.name, connectionPoint.type, createStrongRef(connectionPoint.defaultValue));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this._registerInput(connectionPoint.name, connectionPoint.type);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Gets the shader binding for the custom shader block.
|
|
121
|
+
* @returns The shader binding for the custom shader block
|
|
122
|
+
*/
|
|
123
|
+
getShaderBinding() {
|
|
124
|
+
const inputs = this.inputs;
|
|
125
|
+
const inputsWithRuntimeData = inputs.map((input) => {
|
|
126
|
+
return {
|
|
127
|
+
name: input.name,
|
|
128
|
+
type: input.type,
|
|
129
|
+
runtimeData: this._confirmRuntimeDataSupplied(input),
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
return new CustomShaderBlockBinding(inputsWithRuntimeData);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* The class name of the block.
|
|
137
|
+
*/
|
|
138
|
+
CustomShaderBlock.ClassName = "CustomShaderBlock";
|
|
139
|
+
//# sourceMappingURL=customShaderBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blocks/customShaderBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InputBlock } from "./inputBlock.js";
|
|
2
2
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
3
3
|
import type { SmartFilter } from "../smartFilter.js";
|
|
4
|
-
import type { ISerializedBlockV1 } from "../serialization/v1/
|
|
4
|
+
import type { ISerializedBlockV1 } from "../serialization/v1/smartFilterSerialization.types.js";
|
|
5
5
|
/**
|
|
6
6
|
* V1 Input Block Deserializer
|
|
7
7
|
* @param smartFilter - The SmartFilter to deserialize the block into
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputBlock.deserializer.d.ts","sourceRoot":"","sources":["../../src/blocks/inputBlock.deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"inputBlock.deserializer.d.ts","sourceRoot":"","sources":["../../src/blocks/inputBlock.deserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAEhG;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,yPA6CnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputBlock.serializer.d.ts","sourceRoot":"","sources":["../../src/blocks/inputBlock.serializer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"inputBlock.serializer.d.ts","sourceRoot":"","sources":["../../src/blocks/inputBlock.serializer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAiHhG;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBAclC,CAAC"}
|
|
@@ -108,15 +108,15 @@ function serializeVector2InputBlock(inputBlock) {
|
|
|
108
108
|
* The V1 serializer for an InputBlock
|
|
109
109
|
*/
|
|
110
110
|
export const inputBlockSerializer = {
|
|
111
|
-
|
|
111
|
+
blockType: InputBlockBase.ClassName,
|
|
112
112
|
serialize: (block) => {
|
|
113
|
-
if (block.
|
|
113
|
+
if (block.blockType !== InputBlockBase.ClassName) {
|
|
114
114
|
throw new Error("Was asked to serialize an unrecognized block type");
|
|
115
115
|
}
|
|
116
116
|
return {
|
|
117
117
|
name: block.name,
|
|
118
118
|
uniqueId: block.uniqueId,
|
|
119
|
-
|
|
119
|
+
blockType: InputBlockBase.ClassName,
|
|
120
120
|
comments: block.comments,
|
|
121
121
|
data: serializeInputBlockData(block),
|
|
122
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputBlock.serializer.js","sourceRoot":"","sources":["../../src/blocks/inputBlock.serializer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"inputBlock.serializer.js","sourceRoot":"","sources":["../../src/blocks/inputBlock.serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { ShaderBinding } from "../runtime/shaderRuntime";
|
|
|
5
5
|
import type { ConnectionPoint } from "../connection/connectionPoint";
|
|
6
6
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
7
7
|
import { BaseBlock } from "./baseBlock.js";
|
|
8
|
+
import { type OutputTextureOptions } from "./textureOptions.js";
|
|
8
9
|
/**
|
|
9
10
|
* This is the base class for all shader blocks.
|
|
10
11
|
*
|
|
@@ -31,15 +32,10 @@ export declare abstract class ShaderBlock extends BaseBlock {
|
|
|
31
32
|
* The output connection point of the block.
|
|
32
33
|
*/
|
|
33
34
|
readonly output: ConnectionPoint<ConnectionPointType.Texture>;
|
|
34
|
-
protected _textureRatio: number;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* The options used when creating the texture this block outputs to
|
|
37
37
|
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Sets the texture ratio of the output texture.
|
|
41
|
-
*/
|
|
42
|
-
set textureRatio(value: number);
|
|
38
|
+
outputTextureOptions: OutputTextureOptions;
|
|
43
39
|
/**
|
|
44
40
|
* Disconnects the block from the graph.
|
|
45
41
|
* @param disconnectedConnections - Stores the connections that have been broken in the process. You can reconnect them later if needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/shaderBlock.ts"],"names":[],"mappings":"AACA,OAAO,2DAA2D,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAI3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"shaderBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/shaderBlock.ts"],"names":[],"mappings":"AACA,OAAO,2DAA2D,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAI3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK5F;;;;;;GAMG;AACH,8BAAsB,WAAY,SAAQ,SAAS;IAC/C;;OAEG;IACH,OAAuB,SAAS,SAAiB;IAEjD;;;;OAIG;aACa,gBAAgB,IAAI,aAAa;IAEjD;;OAEG;IACH,OAAc,UAAU,EAAE,aAAa,CAAC;IAExC;;OAEG;IACH,SAAgB,MAAM,+CAA+D;IAErF;;OAEG;IAyBI,oBAAoB,EAAE,oBAAoB,CAI/C;IAEF;;;OAGG;IACa,mBAAmB,CAAC,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,GAAG,IAAI;IASzG,SAAS,CAAC,iCAAiC,IAAI,eAAe;IAc9D;;;;;OAKG;gBACS,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,UAAQ;IAI/E;;;OAGG;IACI,gBAAgB;IAIvB;;;;OAIG;IACa,qCAAqC,CACjD,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,OAAO,GACrB,IAAI;CAgCV"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
1
7
|
import "@babylonjs/core/Engines/Extensions/engine.renderTarget.js";
|
|
2
8
|
import { ShaderRuntime } from "../runtime/shaderRuntime.js";
|
|
3
9
|
import { ConnectionPointType } from "../connection/connectionPointType.js";
|
|
@@ -5,6 +11,9 @@ import { createCommand } from "../command/command.js";
|
|
|
5
11
|
import { undecorateSymbol } from "../utils/shaderCodeUtils.js";
|
|
6
12
|
import { getRenderTargetWrapper, registerFinalRenderCommand } from "../utils/renderTargetUtils.js";
|
|
7
13
|
import { BaseBlock } from "./baseBlock.js";
|
|
14
|
+
import { TextureFormat, TextureType } from "./textureOptions.js";
|
|
15
|
+
import { editableInPropertyPage, PropertyTypeForEdition } from "../editorUtils/editableInPropertyPage.js";
|
|
16
|
+
const OutputTexturePropertiesGroupName = "OUTPUT TEXTURE PROPERTIES";
|
|
8
17
|
/**
|
|
9
18
|
* This is the base class for all shader blocks.
|
|
10
19
|
*
|
|
@@ -13,18 +22,6 @@ import { BaseBlock } from "./baseBlock.js";
|
|
|
13
22
|
* The only required function to implement is the bind function.
|
|
14
23
|
*/
|
|
15
24
|
export class ShaderBlock extends BaseBlock {
|
|
16
|
-
/**
|
|
17
|
-
* Gets the texture ratio of the output texture.
|
|
18
|
-
*/
|
|
19
|
-
get textureRatio() {
|
|
20
|
-
return this._textureRatio;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Sets the texture ratio of the output texture.
|
|
24
|
-
*/
|
|
25
|
-
set textureRatio(value) {
|
|
26
|
-
this._textureRatio = value;
|
|
27
|
-
}
|
|
28
25
|
/**
|
|
29
26
|
* Disconnects the block from the graph.
|
|
30
27
|
* @param disconnectedConnections - Stores the connections that have been broken in the process. You can reconnect them later if needed.
|
|
@@ -59,7 +56,14 @@ export class ShaderBlock extends BaseBlock {
|
|
|
59
56
|
* The output connection point of the block.
|
|
60
57
|
*/
|
|
61
58
|
this.output = this._registerOutput("output", ConnectionPointType.Texture);
|
|
62
|
-
|
|
59
|
+
/**
|
|
60
|
+
* The options used when creating the texture this block outputs to
|
|
61
|
+
*/
|
|
62
|
+
this.outputTextureOptions = {
|
|
63
|
+
ratio: 1,
|
|
64
|
+
format: TextureFormat.RGBA,
|
|
65
|
+
type: TextureType.UNSIGNED_BYTE,
|
|
66
|
+
};
|
|
63
67
|
}
|
|
64
68
|
/**
|
|
65
69
|
* Gets the shader program to use to render the block.
|
|
@@ -83,8 +87,8 @@ export class ShaderBlock extends BaseBlock {
|
|
|
83
87
|
registerFinalRenderCommand(initializationData.outputBlock.renderTargetWrapper, runtime, this, shaderBlockRuntime);
|
|
84
88
|
}
|
|
85
89
|
else {
|
|
86
|
-
const renderTarget = getRenderTargetWrapper((_a = this.output.runtimeData) === null || _a === void 0 ? void 0 : _a.value, this.
|
|
87
|
-
runtime.registerCommand(createCommand(`${this.
|
|
90
|
+
const renderTarget = getRenderTargetWrapper((_a = this.output.runtimeData) === null || _a === void 0 ? void 0 : _a.value, this.blockType);
|
|
91
|
+
runtime.registerCommand(createCommand(`${this.blockType}.render`, this, () => {
|
|
88
92
|
shaderBlockRuntime.renderToTexture(renderTarget);
|
|
89
93
|
}));
|
|
90
94
|
}
|
|
@@ -95,4 +99,30 @@ export class ShaderBlock extends BaseBlock {
|
|
|
95
99
|
* The class name of the block.
|
|
96
100
|
*/
|
|
97
101
|
ShaderBlock.ClassName = "ShaderBlock";
|
|
102
|
+
__decorate([
|
|
103
|
+
editableInPropertyPage("Ratio", PropertyTypeForEdition.Float, OutputTexturePropertiesGroupName, {
|
|
104
|
+
min: 0.1,
|
|
105
|
+
max: 10.0,
|
|
106
|
+
notifiers: { rebuild: true },
|
|
107
|
+
subPropertyName: "ratio",
|
|
108
|
+
}),
|
|
109
|
+
editableInPropertyPage("Format", PropertyTypeForEdition.List, OutputTexturePropertiesGroupName, {
|
|
110
|
+
notifiers: { rebuild: true },
|
|
111
|
+
subPropertyName: "format",
|
|
112
|
+
options: [
|
|
113
|
+
{ label: "R", value: TextureFormat.R },
|
|
114
|
+
{ label: "RG", value: TextureFormat.RG },
|
|
115
|
+
{ label: "RGBA", value: TextureFormat.RGBA },
|
|
116
|
+
],
|
|
117
|
+
}),
|
|
118
|
+
editableInPropertyPage("Type", PropertyTypeForEdition.List, OutputTexturePropertiesGroupName, {
|
|
119
|
+
notifiers: { rebuild: true },
|
|
120
|
+
subPropertyName: "type",
|
|
121
|
+
options: [
|
|
122
|
+
{ label: "UByte", value: TextureType.UNSIGNED_BYTE },
|
|
123
|
+
{ label: "Float", value: TextureType.FLOAT },
|
|
124
|
+
{ label: "Half Float", value: TextureType.HALF_FLOAT },
|
|
125
|
+
],
|
|
126
|
+
})
|
|
127
|
+
], ShaderBlock.prototype, "outputTextureOptions", void 0);
|
|
98
128
|
//# sourceMappingURL=shaderBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderBlock.js","sourceRoot":"","sources":["../../src/blocks/shaderBlock.ts"],"names":[],"mappings":"AACA,OAAO,2DAA2D,CAAC;AAMnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"shaderBlock.js","sourceRoot":"","sources":["../../src/blocks/shaderBlock.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,2DAA2D,CAAC;AAMnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAA6B,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAE1G,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,OAAgB,WAAY,SAAQ,SAAS;IAwD/C;;;OAGG;IACa,mBAAmB,CAAC,uBAA8D;QAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAEvD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAES,iCAAiC;QACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC/E,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxB,MAAM,oBAAoB,IAAI,CAAC,IAAI,+CAA+C,CAAC;QACvF,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,2BAA2B,oBAAoB,qBAAqB,IAAI,CAAC,IAAI,qBAAqB,CAAC;QAC7G,CAAC;QAED,OAAO,gBAAgB,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,YAAY,WAAwB,EAAE,IAAY,EAAE,mBAAmB,GAAG,KAAK;QAC3E,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAxElD;;WAEG;QACa,WAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAErF;;WAEG;QAyBI,yBAAoB,GAAyB;YAChD,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,aAAa,CAAC,IAAI;YAC1B,IAAI,EAAE,WAAW,CAAC,aAAa;SAClC,CAAC;IAqCF,CAAC;IAED;;;OAGG;IACI,gBAAgB;QACnB,OAAQ,IAAI,CAAC,WAAkC,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACa,qCAAqC,CACjD,kBAAsC,EACtC,WAAoB;;QAEpB,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAC3C,MAAM,kBAAkB,GAAG,IAAI,aAAa,CACxC,OAAO,CAAC,cAAc,EACtB,IAAI,CAAC,gBAAgB,EAAE,EACvB,IAAI,CAAC,gBAAgB,EAAE,CAC1B,CAAC;QACF,kBAAkB,CAAC,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAE7C,IAAI,WAAW,EAAE,CAAC;YACd,0BAA0B,CACtB,kBAAkB,CAAC,WAAW,CAAC,mBAAmB,EAClD,OAAO,EACP,IAAI,EACJ,kBAAkB,CACrB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,sBAAsB,CACvC,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,KAAgC,EACzD,IAAI,CAAC,SAAS,CACjB,CAAC;YAEF,OAAO,CAAC,eAAe,CACnB,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE;gBACjD,kBAAkB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QAED,KAAK,CAAC,qCAAqC,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IACjF,CAAC;;AA3ID;;GAEG;AACoB,qBAAS,GAAG,aAAa,AAAhB,CAAiB;AA8C1C;IAxBN,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,gCAAgC,EAAE;QAC7F,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5B,eAAe,EAAE,OAAO;KAC3B,CAAC;IACD,sBAAsB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,EAAE,gCAAgC,EAAE;QAC7F,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5B,eAAe,EAAE,QAAQ;QACzB,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE;YACtC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE;YACxC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE;SAC/C;KACJ,CAAC;IACD,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,CAAC,IAAI,EAAE,gCAAgC,EAAE;QAC3F,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5B,eAAe,EAAE,MAAM;QACvB,OAAO,EAAE;YACL,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE;YACpD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE;YAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE;SACzD;KACJ,CAAC;yDAKA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The format of a texture - corresponds to the Babylon.js TextureFormat constants
|
|
3
|
+
*/
|
|
4
|
+
export declare enum TextureFormat {
|
|
5
|
+
/** Babylon Constants.TEXTUREFORMAT_RGBA */
|
|
6
|
+
RGBA = 5,
|
|
7
|
+
/** Babylon Constants.TEXTUREFORMAT_R */
|
|
8
|
+
R = 6,
|
|
9
|
+
/** Babylon Constants.TEXTUREFORMAT_RG */
|
|
10
|
+
RG = 7
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The type of a texture - corresponds to the Babylon.js TextureType constants
|
|
14
|
+
*/
|
|
15
|
+
export declare enum TextureType {
|
|
16
|
+
/** Babylon Constants.TEXTURETYPE_UNSIGNED_BYTE */
|
|
17
|
+
UNSIGNED_BYTE = 0,
|
|
18
|
+
/** Babylon Constants.TEXTURETYPE_FLOAT */
|
|
19
|
+
FLOAT = 1,
|
|
20
|
+
/** Babylon Constants.TEXTURETYPE_HALF_FLOAT */
|
|
21
|
+
HALF_FLOAT = 2
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Describes the requirements for the output texture of a shader block.
|
|
25
|
+
*/
|
|
26
|
+
export type OutputTextureOptions = {
|
|
27
|
+
/**
|
|
28
|
+
* The texture size ratio (output size of this block / size of the Smart Filter output)
|
|
29
|
+
*/
|
|
30
|
+
ratio: number;
|
|
31
|
+
/**
|
|
32
|
+
* The format of the texture
|
|
33
|
+
*/
|
|
34
|
+
format: TextureFormat;
|
|
35
|
+
/**
|
|
36
|
+
* The type of the texture
|
|
37
|
+
*/
|
|
38
|
+
type: TextureType;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Compares two OutputTextureOptions to see if they match.
|
|
42
|
+
* @param a - The first OutputTextureOptions
|
|
43
|
+
* @param b - The second OutputTextureOptions
|
|
44
|
+
* @returns True if the two options match, false otherwise
|
|
45
|
+
*/
|
|
46
|
+
export declare function textureOptionsMatch(a: OutputTextureOptions | undefined, b: OutputTextureOptions | undefined): boolean;
|
|
47
|
+
//# sourceMappingURL=textureOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureOptions.d.ts","sourceRoot":"","sources":["../../src/blocks/textureOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,aAAa;IACrB,2CAA2C;IAC3C,IAAI,IAAI;IACR,wCAAwC;IACxC,CAAC,IAAI;IACL,yCAAyC;IACzC,EAAE,IAAI;CACT;AAED;;GAEG;AACH,oBAAY,WAAW;IACnB,kDAAkD;IAClD,aAAa,IAAI;IACjB,0CAA0C;IAC1C,KAAK,IAAI;IACT,+CAA+C;IAC/C,UAAU,IAAI;CACjB;AAGD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAAC,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAKrH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The format of a texture - corresponds to the Babylon.js TextureFormat constants
|
|
3
|
+
*/
|
|
4
|
+
export var TextureFormat;
|
|
5
|
+
(function (TextureFormat) {
|
|
6
|
+
/** Babylon Constants.TEXTUREFORMAT_RGBA */
|
|
7
|
+
TextureFormat[TextureFormat["RGBA"] = 5] = "RGBA";
|
|
8
|
+
/** Babylon Constants.TEXTUREFORMAT_R */
|
|
9
|
+
TextureFormat[TextureFormat["R"] = 6] = "R";
|
|
10
|
+
/** Babylon Constants.TEXTUREFORMAT_RG */
|
|
11
|
+
TextureFormat[TextureFormat["RG"] = 7] = "RG";
|
|
12
|
+
})(TextureFormat || (TextureFormat = {}));
|
|
13
|
+
/**
|
|
14
|
+
* The type of a texture - corresponds to the Babylon.js TextureType constants
|
|
15
|
+
*/
|
|
16
|
+
export var TextureType;
|
|
17
|
+
(function (TextureType) {
|
|
18
|
+
/** Babylon Constants.TEXTURETYPE_UNSIGNED_BYTE */
|
|
19
|
+
TextureType[TextureType["UNSIGNED_BYTE"] = 0] = "UNSIGNED_BYTE";
|
|
20
|
+
/** Babylon Constants.TEXTURETYPE_FLOAT */
|
|
21
|
+
TextureType[TextureType["FLOAT"] = 1] = "FLOAT";
|
|
22
|
+
/** Babylon Constants.TEXTURETYPE_HALF_FLOAT */
|
|
23
|
+
TextureType[TextureType["HALF_FLOAT"] = 2] = "HALF_FLOAT";
|
|
24
|
+
})(TextureType || (TextureType = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Compares two OutputTextureOptions to see if they match.
|
|
27
|
+
* @param a - The first OutputTextureOptions
|
|
28
|
+
* @param b - The second OutputTextureOptions
|
|
29
|
+
* @returns True if the two options match, false otherwise
|
|
30
|
+
*/
|
|
31
|
+
export function textureOptionsMatch(a, b) {
|
|
32
|
+
if (a === undefined || b === undefined) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return a.ratio === b.ratio && a.format === b.format && a.type === b.type;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=textureOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureOptions.js","sourceRoot":"","sources":["../../src/blocks/textureOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,2CAA2C;IAC3C,iDAAQ,CAAA;IACR,wCAAwC;IACxC,2CAAK,CAAA;IACL,yCAAyC;IACzC,6CAAM,CAAA;AACV,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,kDAAkD;IAClD,+DAAiB,CAAA;IACjB,0CAA0C;IAC1C,+CAAS,CAAA;IACT,+CAA+C;IAC/C,yDAAc,CAAA;AAClB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAuBD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAmC,EAAE,CAAmC;IACxG,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Represents the owner of a command.
|
|
3
|
-
* In practice, it will mostly be a block, the smart filter or a tool injecting commands.
|
|
4
3
|
*/
|
|
5
4
|
export interface ICommandOwner {
|
|
6
5
|
/**
|
|
@@ -8,9 +7,9 @@ export interface ICommandOwner {
|
|
|
8
7
|
*/
|
|
9
8
|
readonly name: string;
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
10
|
+
* The blockType of the owner;
|
|
12
11
|
*/
|
|
13
|
-
|
|
12
|
+
readonly blockType: string;
|
|
14
13
|
}
|
|
15
14
|
/**
|
|
16
15
|
* Represents a the action of a @see Command. This is what will be executed during a command buffer execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command/command.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG;IAClB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAClC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAMhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/command/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/command/command.ts"],"names":[],"mappings":"AA6CA;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAoB,EAAE,MAAqB;IACnF,OAAO;QACH,IAAI;QACJ,KAAK;QACL,MAAM;KACT,CAAC;AACN,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export function logCommands(commandBuffer) {
|
|
6
6
|
console.log("----- Command buffer commands -----");
|
|
7
7
|
commandBuffer.visitCommands((command) => {
|
|
8
|
-
console.log(` Owner: ${command.owner.
|
|
8
|
+
console.log(` Owner: ${command.owner.blockType} (${command.owner.name}) - Command: ${command.name}`);
|
|
9
9
|
});
|
|
10
10
|
console.log("-----------------------------------");
|
|
11
11
|
}
|