@onerjs/smart-filters 8.25.2 → 8.25.3
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/IDisposable.d.ts +10 -0
- package/dist/IDisposable.d.ts.map +1 -0
- package/dist/IDisposable.js +2 -0
- package/dist/IDisposable.js.map +1 -0
- package/dist/blockFoundation/aggregateBlock.d.ts +56 -0
- package/dist/blockFoundation/aggregateBlock.d.ts.map +1 -0
- package/dist/blockFoundation/aggregateBlock.js +130 -0
- package/dist/blockFoundation/aggregateBlock.js.map +1 -0
- package/dist/blockFoundation/baseBlock.d.ts +176 -0
- package/dist/blockFoundation/baseBlock.d.ts.map +1 -0
- package/dist/blockFoundation/baseBlock.js +276 -0
- package/dist/blockFoundation/baseBlock.js.map +1 -0
- package/dist/blockFoundation/customAggregateBlock.d.ts +38 -0
- package/dist/blockFoundation/customAggregateBlock.d.ts.map +1 -0
- package/dist/blockFoundation/customAggregateBlock.js +63 -0
- package/dist/blockFoundation/customAggregateBlock.js.map +1 -0
- package/dist/blockFoundation/customShaderBlock.d.ts +73 -0
- package/dist/blockFoundation/customShaderBlock.d.ts.map +1 -0
- package/dist/blockFoundation/customShaderBlock.js +232 -0
- package/dist/blockFoundation/customShaderBlock.js.map +1 -0
- package/dist/blockFoundation/disableableShaderBlock.d.ts +56 -0
- package/dist/blockFoundation/disableableShaderBlock.d.ts.map +1 -0
- package/dist/blockFoundation/disableableShaderBlock.js +68 -0
- package/dist/blockFoundation/disableableShaderBlock.js.map +1 -0
- package/dist/blockFoundation/index.d.ts +10 -0
- package/dist/blockFoundation/index.d.ts.map +1 -0
- package/dist/blockFoundation/index.js +8 -0
- package/dist/blockFoundation/index.js.map +1 -0
- package/dist/blockFoundation/inputBlock.d.ts +127 -0
- package/dist/blockFoundation/inputBlock.d.ts.map +1 -0
- package/dist/blockFoundation/inputBlock.deserializer.d.ts +12 -0
- package/dist/blockFoundation/inputBlock.deserializer.d.ts.map +1 -0
- package/dist/blockFoundation/inputBlock.deserializer.js +65 -0
- package/dist/blockFoundation/inputBlock.deserializer.js.map +1 -0
- package/dist/blockFoundation/inputBlock.js +89 -0
- package/dist/blockFoundation/inputBlock.js.map +1 -0
- package/dist/blockFoundation/inputBlock.serialization.types.d.ts +105 -0
- package/dist/blockFoundation/inputBlock.serialization.types.d.ts.map +1 -0
- package/dist/blockFoundation/inputBlock.serialization.types.js +2 -0
- package/dist/blockFoundation/inputBlock.serialization.types.js.map +1 -0
- package/dist/blockFoundation/inputBlock.serializer.d.ts +6 -0
- package/dist/blockFoundation/inputBlock.serializer.d.ts.map +1 -0
- package/dist/blockFoundation/inputBlock.serializer.js +130 -0
- package/dist/blockFoundation/inputBlock.serializer.js.map +1 -0
- package/dist/blockFoundation/outputBlock.d.ts +47 -0
- package/dist/blockFoundation/outputBlock.d.ts.map +1 -0
- package/dist/blockFoundation/outputBlock.js +123 -0
- package/dist/blockFoundation/outputBlock.js.map +1 -0
- package/dist/blockFoundation/shaderBlock.d.ts +64 -0
- package/dist/blockFoundation/shaderBlock.d.ts.map +1 -0
- package/dist/blockFoundation/shaderBlock.js +125 -0
- package/dist/blockFoundation/shaderBlock.js.map +1 -0
- package/dist/blockFoundation/textureOptions.d.ts +47 -0
- package/dist/blockFoundation/textureOptions.d.ts.map +1 -0
- package/dist/blockFoundation/textureOptions.js +37 -0
- package/dist/blockFoundation/textureOptions.js.map +1 -0
- package/dist/command/command.d.ts +48 -0
- package/dist/command/command.d.ts.map +1 -0
- package/dist/command/command.js +15 -0
- package/dist/command/command.js.map +1 -0
- package/dist/command/commandBuffer.d.ts +40 -0
- package/dist/command/commandBuffer.d.ts.map +1 -0
- package/dist/command/commandBuffer.js +58 -0
- package/dist/command/commandBuffer.js.map +1 -0
- package/dist/command/commandBufferDebugger.d.ts +7 -0
- package/dist/command/commandBufferDebugger.d.ts.map +1 -0
- package/dist/command/commandBufferDebugger.js +13 -0
- package/dist/command/commandBufferDebugger.js.map +1 -0
- package/dist/command/index.d.ts +6 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/command/index.js +8 -0
- package/dist/command/index.js.map +1 -0
- package/dist/connection/connectionPoint.d.ts +110 -0
- package/dist/connection/connectionPoint.d.ts.map +1 -0
- package/dist/connection/connectionPoint.js +154 -0
- package/dist/connection/connectionPoint.js.map +1 -0
- package/dist/connection/connectionPointCompatibilityState.d.ts +20 -0
- package/dist/connection/connectionPointCompatibilityState.d.ts.map +1 -0
- package/dist/connection/connectionPointCompatibilityState.js +32 -0
- package/dist/connection/connectionPointCompatibilityState.js.map +1 -0
- package/dist/connection/connectionPointDirection.d.ts +10 -0
- package/dist/connection/connectionPointDirection.d.ts.map +1 -0
- package/dist/connection/connectionPointDirection.js +11 -0
- package/dist/connection/connectionPointDirection.js.map +1 -0
- package/dist/connection/connectionPointType.d.ts +29 -0
- package/dist/connection/connectionPointType.d.ts.map +1 -0
- package/dist/connection/connectionPointType.js +19 -0
- package/dist/connection/connectionPointType.js.map +1 -0
- package/dist/connection/connectionPointWithDefault.d.ts +23 -0
- package/dist/connection/connectionPointWithDefault.d.ts.map +1 -0
- package/dist/connection/connectionPointWithDefault.js +19 -0
- package/dist/connection/connectionPointWithDefault.js.map +1 -0
- package/dist/connection/index.d.ts +8 -0
- package/dist/connection/index.d.ts.map +1 -0
- package/dist/connection/index.js +7 -0
- package/dist/connection/index.js.map +1 -0
- package/dist/editorUtils/editableInPropertyPage.d.ts +80 -0
- package/dist/editorUtils/editableInPropertyPage.d.ts.map +1 -0
- package/dist/editorUtils/editableInPropertyPage.js +42 -0
- package/dist/editorUtils/editableInPropertyPage.js.map +1 -0
- package/dist/editorUtils/index.d.ts +3 -0
- package/dist/editorUtils/index.d.ts.map +1 -0
- package/dist/editorUtils/index.js +4 -0
- package/dist/editorUtils/index.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/optimization/dependencyGraph.d.ts +31 -0
- package/dist/optimization/dependencyGraph.d.ts.map +1 -0
- package/dist/optimization/dependencyGraph.js +78 -0
- package/dist/optimization/dependencyGraph.js.map +1 -0
- package/dist/optimization/index.d.ts +2 -0
- package/dist/optimization/index.d.ts.map +1 -0
- package/dist/optimization/index.js +2 -0
- package/dist/optimization/index.js.map +1 -0
- package/dist/optimization/optimizedShaderBlock.d.ts +75 -0
- package/dist/optimization/optimizedShaderBlock.d.ts.map +1 -0
- package/dist/optimization/optimizedShaderBlock.js +105 -0
- package/dist/optimization/optimizedShaderBlock.js.map +1 -0
- package/dist/optimization/smartFilterOptimizer.d.ts +126 -0
- package/dist/optimization/smartFilterOptimizer.d.ts.map +1 -0
- package/dist/optimization/smartFilterOptimizer.js +666 -0
- package/dist/optimization/smartFilterOptimizer.js.map +1 -0
- package/dist/runtime/index.d.ts +8 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/renderTargetGenerator.d.ts +43 -0
- package/dist/runtime/renderTargetGenerator.d.ts.map +1 -0
- package/dist/runtime/renderTargetGenerator.js +169 -0
- package/dist/runtime/renderTargetGenerator.js.map +1 -0
- package/dist/runtime/shaderRuntime.d.ts +103 -0
- package/dist/runtime/shaderRuntime.d.ts.map +1 -0
- package/dist/runtime/shaderRuntime.js +132 -0
- package/dist/runtime/shaderRuntime.js.map +1 -0
- package/dist/runtime/smartFilterRuntime.d.ts +69 -0
- package/dist/runtime/smartFilterRuntime.d.ts.map +1 -0
- package/dist/runtime/smartFilterRuntime.js +63 -0
- package/dist/runtime/smartFilterRuntime.js.map +1 -0
- package/dist/runtime/strongRef.d.ts +16 -0
- package/dist/runtime/strongRef.d.ts.map +1 -0
- package/dist/runtime/strongRef.js +9 -0
- package/dist/runtime/strongRef.js.map +1 -0
- package/dist/serialization/importCustomBlockDefinition.d.ts +15 -0
- package/dist/serialization/importCustomBlockDefinition.d.ts.map +1 -0
- package/dist/serialization/importCustomBlockDefinition.js +76 -0
- package/dist/serialization/importCustomBlockDefinition.js.map +1 -0
- package/dist/serialization/index.d.ts +9 -0
- package/dist/serialization/index.d.ts.map +1 -0
- package/dist/serialization/index.js +11 -0
- package/dist/serialization/index.js.map +1 -0
- package/dist/serialization/serializedBlockDefinition.d.ts +12 -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/serializedShaderBlockDefinition.d.ts +7 -0
- package/dist/serialization/serializedShaderBlockDefinition.d.ts.map +1 -0
- package/dist/serialization/serializedShaderBlockDefinition.js +2 -0
- package/dist/serialization/serializedShaderBlockDefinition.js.map +1 -0
- package/dist/serialization/serializedSmartFilter.d.ts +6 -0
- package/dist/serialization/serializedSmartFilter.d.ts.map +1 -0
- package/dist/serialization/serializedSmartFilter.js +2 -0
- package/dist/serialization/serializedSmartFilter.js.map +1 -0
- package/dist/serialization/smartFilterDeserializer.d.ts +34 -0
- package/dist/serialization/smartFilterDeserializer.d.ts.map +1 -0
- package/dist/serialization/smartFilterDeserializer.js +141 -0
- package/dist/serialization/smartFilterDeserializer.js.map +1 -0
- package/dist/serialization/smartFilterSerializer.d.ts +23 -0
- package/dist/serialization/smartFilterSerializer.d.ts.map +1 -0
- package/dist/serialization/smartFilterSerializer.js +95 -0
- package/dist/serialization/smartFilterSerializer.js.map +1 -0
- package/dist/serialization/v1/defaultBlockSerializer.d.ts +9 -0
- package/dist/serialization/v1/defaultBlockSerializer.d.ts.map +1 -0
- package/dist/serialization/v1/defaultBlockSerializer.js +19 -0
- package/dist/serialization/v1/defaultBlockSerializer.js.map +1 -0
- package/dist/serialization/v1/index.d.ts +4 -0
- package/dist/serialization/v1/index.d.ts.map +1 -0
- package/dist/serialization/v1/index.js +5 -0
- package/dist/serialization/v1/index.js.map +1 -0
- package/dist/serialization/v1/shaderBlockSerialization.types.d.ts +73 -0
- package/dist/serialization/v1/shaderBlockSerialization.types.d.ts.map +1 -0
- package/dist/serialization/v1/shaderBlockSerialization.types.js +7 -0
- package/dist/serialization/v1/shaderBlockSerialization.types.js.map +1 -0
- package/dist/serialization/v1/smartFilterSerialization.types.d.ts +98 -0
- 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/smartFilter.d.ts +118 -0
- package/dist/smartFilter.d.ts.map +1 -0
- package/dist/smartFilter.js +169 -0
- package/dist/smartFilter.js.map +1 -0
- package/dist/utils/buildTools/buildShaders.d.ts +9 -0
- package/dist/utils/buildTools/buildShaders.d.ts.map +1 -0
- package/dist/utils/buildTools/buildShaders.js +13 -0
- package/dist/utils/buildTools/buildShaders.js.map +1 -0
- package/dist/utils/buildTools/convertGlslIntoBlock.d.ts +9 -0
- package/dist/utils/buildTools/convertGlslIntoBlock.d.ts.map +1 -0
- package/dist/utils/buildTools/convertGlslIntoBlock.js +346 -0
- package/dist/utils/buildTools/convertGlslIntoBlock.js.map +1 -0
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.d.ts +26 -0
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.d.ts.map +1 -0
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.js +141 -0
- package/dist/utils/buildTools/convertGlslIntoShaderProgram.js.map +1 -0
- package/dist/utils/buildTools/convertShaders.d.ts +16 -0
- package/dist/utils/buildTools/convertShaders.d.ts.map +1 -0
- package/dist/utils/buildTools/convertShaders.js +62 -0
- package/dist/utils/buildTools/convertShaders.js.map +1 -0
- package/dist/utils/buildTools/shaderCode.types.d.ts +51 -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 +77 -0
- package/dist/utils/buildTools/shaderConverter.d.ts.map +1 -0
- package/dist/utils/buildTools/shaderConverter.js +297 -0
- package/dist/utils/buildTools/shaderConverter.js.map +1 -0
- package/dist/utils/buildTools/watchShaders.d.ts +9 -0
- package/dist/utils/buildTools/watchShaders.d.ts.map +1 -0
- package/dist/utils/buildTools/watchShaders.js +39 -0
- package/dist/utils/buildTools/watchShaders.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/renderTargetUtils.d.ts +14 -0
- package/dist/utils/renderTargetUtils.d.ts.map +1 -0
- package/dist/utils/renderTargetUtils.js +23 -0
- package/dist/utils/renderTargetUtils.js.map +1 -0
- package/dist/utils/shaderCodeUtils.d.ts +91 -0
- package/dist/utils/shaderCodeUtils.d.ts.map +1 -0
- package/dist/utils/shaderCodeUtils.js +111 -0
- package/dist/utils/shaderCodeUtils.js.map +1 -0
- package/dist/utils/textureLoaders.d.ts +16 -0
- package/dist/utils/textureLoaders.d.ts.map +1 -0
- package/dist/utils/textureLoaders.js +22 -0
- package/dist/utils/textureLoaders.js.map +1 -0
- package/dist/utils/textureUtils.d.ts +13 -0
- package/dist/utils/textureUtils.d.ts.map +1 -0
- package/dist/utils/textureUtils.js +25 -0
- package/dist/utils/textureUtils.js.map +1 -0
- package/dist/utils/uniqueIdGenerator.d.ts +19 -0
- package/dist/utils/uniqueIdGenerator.d.ts.map +1 -0
- package/dist/utils/uniqueIdGenerator.js +27 -0
- package/dist/utils/uniqueIdGenerator.js.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
- package/src/optimization/smartFilterOptimizer.ts +305 -158
- package/src/version.ts +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Effect } from "@onerjs/core/Materials/effect.js";
|
|
2
|
+
import type { ShaderCode } from "./buildTools/shaderCode.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The shader code decorator.
|
|
5
|
+
* Used to decorate the names of uniform, function and const variables for easier parsing.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DecorateChar = "_";
|
|
8
|
+
/**
|
|
9
|
+
* Describes a shader program.
|
|
10
|
+
*/
|
|
11
|
+
export type ShaderProgram = {
|
|
12
|
+
/**
|
|
13
|
+
* The vertex shader code.
|
|
14
|
+
*/
|
|
15
|
+
vertex?: string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* The fragment shader code.
|
|
18
|
+
*/
|
|
19
|
+
fragment: ShaderCode;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* The list of options required to create a shader block.
|
|
23
|
+
* It mainly contains the shader code to execute and its associated parameters.
|
|
24
|
+
*/
|
|
25
|
+
export type ShaderCreationOptions = {
|
|
26
|
+
/**
|
|
27
|
+
* A friendly name for the shader visible in Spector or in logs.
|
|
28
|
+
*/
|
|
29
|
+
name: string;
|
|
30
|
+
/**
|
|
31
|
+
* Fragment shader source code.
|
|
32
|
+
*/
|
|
33
|
+
fragmentShader: string;
|
|
34
|
+
/**
|
|
35
|
+
* Vertex shader source code.
|
|
36
|
+
*/
|
|
37
|
+
vertexShader?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Attributes to use in the shader
|
|
40
|
+
*/
|
|
41
|
+
attributeNames?: Array<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Uniforms to use in the shader
|
|
44
|
+
*/
|
|
45
|
+
uniformNames?: Array<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Texture sampler names to use in the shader
|
|
48
|
+
*/
|
|
49
|
+
samplerNames?: Array<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Defines to use in the shader
|
|
52
|
+
*/
|
|
53
|
+
defines?: Array<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Callback when the effect is compiled
|
|
56
|
+
*/
|
|
57
|
+
onCompiled?: (effect: Effect) => void;
|
|
58
|
+
};
|
|
59
|
+
export declare const AutoDisableMainInputColorName = "autoMainInputColor";
|
|
60
|
+
export declare const DisableUniform = "disabled";
|
|
61
|
+
/**
|
|
62
|
+
* Injects the disable uniform and adds a check for it at the beginning of the main function
|
|
63
|
+
* @param shaderProgram - The shader program to inject the disable feature into
|
|
64
|
+
*/
|
|
65
|
+
export declare function InjectAutoSampleDisableCode(shaderProgram: ShaderProgram): void;
|
|
66
|
+
/**
|
|
67
|
+
* Gets the shader fragment code.
|
|
68
|
+
* @param shaderProgram - The shader program to extract the code from.
|
|
69
|
+
* @param mainCodeOnly - If true, only the main function code will be returned.
|
|
70
|
+
* @returns The shader fragment code.
|
|
71
|
+
*/
|
|
72
|
+
export declare function GetShaderFragmentCode(shaderProgram: ShaderProgram, mainCodeOnly?: boolean): string;
|
|
73
|
+
/**
|
|
74
|
+
* Gets the shader creation options from a shader program.
|
|
75
|
+
* @param shaderProgram - The shader program to build the create options from.
|
|
76
|
+
* @returns The shader creation options.
|
|
77
|
+
*/
|
|
78
|
+
export declare function GetShaderCreateOptions(shaderProgram: ShaderProgram): ShaderCreationOptions;
|
|
79
|
+
/**
|
|
80
|
+
* Decorates a symbol (uniform, function or const) name.
|
|
81
|
+
* @param symbol - The symbol to decorate.
|
|
82
|
+
* @returns The decorated symbol.
|
|
83
|
+
*/
|
|
84
|
+
export declare function DecorateSymbol(symbol: string): string;
|
|
85
|
+
/**
|
|
86
|
+
* Undecorates a symbol (uniform, function or const) name.
|
|
87
|
+
* @param symbol - The symbol to undecorate.
|
|
88
|
+
* @returns The undecorated symbol. Throws an error if the symbol is not decorated.
|
|
89
|
+
*/
|
|
90
|
+
export declare function UndecorateSymbol(symbol: string): string;
|
|
91
|
+
//# sourceMappingURL=shaderCodeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shaderCodeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/shaderCodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,yCAAiC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,aAAa,QAwBvE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,UAAQ,GAAG,MAAM,CAoBhG;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,qBAAqB,CAwC1F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMvD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shader code decorator.
|
|
3
|
+
* Used to decorate the names of uniform, function and const variables for easier parsing.
|
|
4
|
+
*/
|
|
5
|
+
export const DecorateChar = "_";
|
|
6
|
+
export const AutoDisableMainInputColorName = "autoMainInputColor";
|
|
7
|
+
export const DisableUniform = "disabled";
|
|
8
|
+
/**
|
|
9
|
+
* Injects the disable uniform and adds a check for it at the beginning of the main function
|
|
10
|
+
* @param shaderProgram - The shader program to inject the disable feature into
|
|
11
|
+
*/
|
|
12
|
+
export function InjectAutoSampleDisableCode(shaderProgram) {
|
|
13
|
+
const shaderFragment = shaderProgram.fragment;
|
|
14
|
+
// Inject the disable uniform
|
|
15
|
+
shaderFragment.uniform += `\nuniform bool ${DecorateSymbol(DisableUniform)};`;
|
|
16
|
+
// Find the main function
|
|
17
|
+
const mainFunction = shaderFragment.functions.find((f) => f.name === shaderFragment.mainFunctionName);
|
|
18
|
+
if (!mainFunction) {
|
|
19
|
+
throw new Error(`Main function not found when trying to inject auto disable into ${shaderFragment.mainFunctionName}`);
|
|
20
|
+
}
|
|
21
|
+
// Ensure the shader has a main input texture
|
|
22
|
+
if (!shaderFragment.mainInputTexture) {
|
|
23
|
+
throw new Error(`Main input texture not found when trying to inject auto disable into ${shaderFragment.mainFunctionName}`);
|
|
24
|
+
}
|
|
25
|
+
// Inject the code
|
|
26
|
+
const autoDisableVariableName = DecorateSymbol(AutoDisableMainInputColorName);
|
|
27
|
+
mainFunction.code = mainFunction.code.replace("{", `{\n vec4 ${autoDisableVariableName} = texture2D(${shaderFragment.mainInputTexture}, vUV);\n
|
|
28
|
+
if (${DecorateSymbol(DisableUniform)}) return ${autoDisableVariableName};\n`);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Gets the shader fragment code.
|
|
32
|
+
* @param shaderProgram - The shader program to extract the code from.
|
|
33
|
+
* @param mainCodeOnly - If true, only the main function code will be returned.
|
|
34
|
+
* @returns The shader fragment code.
|
|
35
|
+
*/
|
|
36
|
+
export function GetShaderFragmentCode(shaderProgram, mainCodeOnly = false) {
|
|
37
|
+
const shaderFragment = shaderProgram.fragment;
|
|
38
|
+
const declarations = (shaderFragment.const ?? "") + "\n" + shaderFragment.uniform + "\n" + (shaderFragment.uniformSingle ?? "") + "\n";
|
|
39
|
+
let mainFunctionCode = "";
|
|
40
|
+
let otherFunctionsCode = "";
|
|
41
|
+
for (let i = 0; i < shaderFragment.functions.length; ++i) {
|
|
42
|
+
const func = shaderFragment.functions[i];
|
|
43
|
+
if (func.name === shaderFragment.mainFunctionName) {
|
|
44
|
+
mainFunctionCode += func.code + "\n";
|
|
45
|
+
if (mainCodeOnly) {
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
otherFunctionsCode += func.code + "\n";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return mainCodeOnly ? mainFunctionCode : declarations + otherFunctionsCode + mainFunctionCode;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets the shader creation options from a shader program.
|
|
57
|
+
* @param shaderProgram - The shader program to build the create options from.
|
|
58
|
+
* @returns The shader creation options.
|
|
59
|
+
*/
|
|
60
|
+
export function GetShaderCreateOptions(shaderProgram) {
|
|
61
|
+
const shaderFragment = shaderProgram.fragment;
|
|
62
|
+
let code = GetShaderFragmentCode(shaderProgram);
|
|
63
|
+
const uniforms = shaderFragment.uniform + "\n" + (shaderFragment.uniformSingle ?? "");
|
|
64
|
+
const uniformNames = [];
|
|
65
|
+
const samplerNames = [];
|
|
66
|
+
const rx = new RegExp(`uniform\\s+(\\S+)\\s+(\\w+)\\s*;`, "g");
|
|
67
|
+
let match = rx.exec(uniforms);
|
|
68
|
+
while (match !== null) {
|
|
69
|
+
const varType = match[1];
|
|
70
|
+
const varName = match[2];
|
|
71
|
+
if (varType === "sampler2D" || varType === "sampler3D") {
|
|
72
|
+
samplerNames.push(varName);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
uniformNames.push(varName);
|
|
76
|
+
}
|
|
77
|
+
match = rx.exec(uniforms);
|
|
78
|
+
}
|
|
79
|
+
code = "varying vec2 vUV;\n" + code + "\nvoid main(void) {\ngl_FragColor = " + shaderFragment.mainFunctionName + "(vUV);\n}";
|
|
80
|
+
const options = {
|
|
81
|
+
name: shaderFragment.mainFunctionName,
|
|
82
|
+
fragmentShader: code,
|
|
83
|
+
uniformNames: uniformNames,
|
|
84
|
+
samplerNames: samplerNames,
|
|
85
|
+
defines: shaderFragment.defines,
|
|
86
|
+
};
|
|
87
|
+
if (shaderProgram.vertex) {
|
|
88
|
+
options.vertexShader = shaderProgram.vertex;
|
|
89
|
+
}
|
|
90
|
+
return options;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Decorates a symbol (uniform, function or const) name.
|
|
94
|
+
* @param symbol - The symbol to decorate.
|
|
95
|
+
* @returns The decorated symbol.
|
|
96
|
+
*/
|
|
97
|
+
export function DecorateSymbol(symbol) {
|
|
98
|
+
return DecorateChar + symbol + DecorateChar;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Undecorates a symbol (uniform, function or const) name.
|
|
102
|
+
* @param symbol - The symbol to undecorate.
|
|
103
|
+
* @returns The undecorated symbol. Throws an error if the symbol is not decorated.
|
|
104
|
+
*/
|
|
105
|
+
export function UndecorateSymbol(symbol) {
|
|
106
|
+
if (symbol.charAt(0) !== DecorateChar || symbol.charAt(symbol.length - 1) !== DecorateChar) {
|
|
107
|
+
throw new Error(`undecorateSymbol: Invalid symbol name "${symbol}"`);
|
|
108
|
+
}
|
|
109
|
+
return symbol.substring(1, symbol.length - 1);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=shaderCodeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shaderCodeUtils.js","sourceRoot":"","sources":["../../src/utils/shaderCodeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ThinTexture } from "@onerjs/core/Materials/Textures/thinTexture.js";
|
|
2
|
+
import { type ThinEngine } from "@onerjs/core/Engines/thinEngine.js";
|
|
3
|
+
import type { Nullable } from "@onerjs/core/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Helper that takes in a URL to an image and returns a ThinTexture
|
|
6
|
+
* @param engine - defines the engine to use to create the texture
|
|
7
|
+
* @param url - defines a value which contains one of the following:
|
|
8
|
+
* * A conventional http URL, e.g. 'http://...' or 'file://...'
|
|
9
|
+
* * A base64 string of in-line texture data, e.g. 'data:image/jpg;base64,/...'
|
|
10
|
+
* @param flipY - Indicates if the Y axis should be flipped
|
|
11
|
+
* @param samplingMode - The sampling mode to use
|
|
12
|
+
* @param forcedExtension - defines the extension to use to pick the right loader
|
|
13
|
+
* @returns A ThinTexture of the image
|
|
14
|
+
*/
|
|
15
|
+
export declare function CreateImageTexture(engine: ThinEngine, url: string, flipY?: Nullable<boolean>, samplingMode?: number | undefined, forcedExtension?: string | null): ThinTexture;
|
|
16
|
+
//# sourceMappingURL=textureLoaders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureLoaders.d.ts","sourceRoot":"","sources":["../../src/utils/textureLoaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,uDAA+C;AACrE,OAAO,EAAE,KAAK,UAAU,EAAE,2CAAmC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,8BAAsB;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,QAAQ,CAAC,OAAO,CAAQ,EAC/B,YAAY,GAAE,MAAM,GAAG,SAAqB,EAC5C,eAAe,GAAE,MAAM,GAAG,IAAW,GACtC,WAAW,CAGb"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ThinTexture } from "@onerjs/core/Materials/Textures/thinTexture.js";
|
|
2
|
+
/**
|
|
3
|
+
* Helper that takes in a URL to an image and returns a ThinTexture
|
|
4
|
+
* @param engine - defines the engine to use to create the texture
|
|
5
|
+
* @param url - defines a value which contains one of the following:
|
|
6
|
+
* * A conventional http URL, e.g. 'http://...' or 'file://...'
|
|
7
|
+
* * A base64 string of in-line texture data, e.g. 'data:image/jpg;base64,/...'
|
|
8
|
+
* @param flipY - Indicates if the Y axis should be flipped
|
|
9
|
+
* @param samplingMode - The sampling mode to use
|
|
10
|
+
* @param forcedExtension - defines the extension to use to pick the right loader
|
|
11
|
+
* @returns A ThinTexture of the image
|
|
12
|
+
*/
|
|
13
|
+
export function CreateImageTexture(engine, url, flipY = null, samplingMode = undefined, forcedExtension = null) {
|
|
14
|
+
const internalTexture = engine.createTexture(url, true, flipY ?? true, null, samplingMode, null, null, null, null, null, forcedExtension);
|
|
15
|
+
return new ThinTexture(internalTexture);
|
|
16
|
+
}
|
|
17
|
+
/*
|
|
18
|
+
Future util ideas:
|
|
19
|
+
HtmlElementTexture
|
|
20
|
+
WebCamTexture
|
|
21
|
+
*/
|
|
22
|
+
//# sourceMappingURL=textureLoaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureLoaders.js","sourceRoot":"","sources":["../../src/utils/textureLoaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,uDAA+C;AAIrE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAC9B,MAAkB,EAClB,GAAW,EACX,QAA2B,IAAI,EAC/B,eAAmC,SAAS,EAC5C,kBAAiC,IAAI;IAErC,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1I,OAAO,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;AAC5C,CAAC;AAED;;;;EAIE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TextureSize } from "@onerjs/core/Materials/Textures/textureCreationOptions.js";
|
|
2
|
+
import type { OutputTextureOptions } from "../blockFoundation/textureOptions.js";
|
|
3
|
+
import type { SmartFilter } from "../smartFilter.js";
|
|
4
|
+
import type { ThinEngine } from "@onerjs/core/Engines/thinEngine.js";
|
|
5
|
+
/**
|
|
6
|
+
* Determines the output texture size for a given shader block
|
|
7
|
+
* @param smartFilter - The smart filter to use
|
|
8
|
+
* @param engine - The engine to use
|
|
9
|
+
* @param textureOptions - The texture options to use
|
|
10
|
+
* @returns - The output texture size
|
|
11
|
+
*/
|
|
12
|
+
export declare function GetBlockOutputTextureSize(smartFilter: SmartFilter, engine: ThinEngine, textureOptions: OutputTextureOptions): TextureSize;
|
|
13
|
+
//# sourceMappingURL=textureUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureUtils.d.ts","sourceRoot":"","sources":["../../src/utils/textureUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kEAA0D;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,2CAAmC;AAE7D;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,GAAG,WAAW,CAezI"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines the output texture size for a given shader block
|
|
3
|
+
* @param smartFilter - The smart filter to use
|
|
4
|
+
* @param engine - The engine to use
|
|
5
|
+
* @param textureOptions - The texture options to use
|
|
6
|
+
* @returns - The output texture size
|
|
7
|
+
*/
|
|
8
|
+
export function GetBlockOutputTextureSize(smartFilter, engine, textureOptions) {
|
|
9
|
+
let outputWidth;
|
|
10
|
+
let outputHeight;
|
|
11
|
+
const renderTargetWrapper = smartFilter.outputBlock.renderTargetWrapper;
|
|
12
|
+
if (renderTargetWrapper) {
|
|
13
|
+
outputWidth = renderTargetWrapper.width;
|
|
14
|
+
outputHeight = renderTargetWrapper.height;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
outputWidth = engine.getRenderWidth(true);
|
|
18
|
+
outputHeight = engine.getRenderHeight(true);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
width: Math.floor(outputWidth * textureOptions.ratio),
|
|
22
|
+
height: Math.floor(outputHeight * textureOptions.ratio),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=textureUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureUtils.js","sourceRoot":"","sources":["../../src/utils/textureUtils.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAwB,EAAE,MAAkB,EAAE,cAAoC;IACxH,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAoB,CAAC;IACzB,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACxE,IAAI,mBAAmB,EAAE,CAAC;QACtB,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;QACxC,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC;QACrD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC;KAC1D,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper class used to generate IDs unique to the current session
|
|
3
|
+
*/
|
|
4
|
+
export declare class UniqueIdGenerator {
|
|
5
|
+
/**
|
|
6
|
+
* The next unique ID to be returned
|
|
7
|
+
*/
|
|
8
|
+
static _NextUniqueId: number;
|
|
9
|
+
/**
|
|
10
|
+
* Gets a unique (relatively to the current session) Id
|
|
11
|
+
*/
|
|
12
|
+
static get UniqueId(): number;
|
|
13
|
+
/**
|
|
14
|
+
* Ensures future generated IDs are greater than the specified value
|
|
15
|
+
* @param minimum - The minimum value that future generated IDs should be greater than
|
|
16
|
+
*/
|
|
17
|
+
static EnsureIdsGreaterThan(minimum: number): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=uniqueIdGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniqueIdGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/uniqueIdGenerator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,OAAc,aAAa,SAAK;IAEhC;;OAEG;IACH,WAAkB,QAAQ,WAIzB;IAED;;;OAGG;WACW,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAK5D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper class used to generate IDs unique to the current session
|
|
3
|
+
*/
|
|
4
|
+
export class UniqueIdGenerator {
|
|
5
|
+
/**
|
|
6
|
+
* Gets a unique (relatively to the current session) Id
|
|
7
|
+
*/
|
|
8
|
+
static get UniqueId() {
|
|
9
|
+
const result = this._NextUniqueId;
|
|
10
|
+
this._NextUniqueId++;
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Ensures future generated IDs are greater than the specified value
|
|
15
|
+
* @param minimum - The minimum value that future generated IDs should be greater than
|
|
16
|
+
*/
|
|
17
|
+
static EnsureIdsGreaterThan(minimum) {
|
|
18
|
+
if (this._NextUniqueId <= minimum) {
|
|
19
|
+
this._NextUniqueId = minimum + 1;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The next unique ID to be returned
|
|
25
|
+
*/
|
|
26
|
+
UniqueIdGenerator._NextUniqueId = 1;
|
|
27
|
+
//# sourceMappingURL=uniqueIdGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniqueIdGenerator.js","sourceRoot":"","sources":["../../src/utils/uniqueIdGenerator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAM1B;;OAEG;IACI,MAAM,KAAK,QAAQ;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAAe;QAC9C,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,OAAO,GAAG,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;;AAtBD;;GAEG;AACW,+BAAa,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAW,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC"}
|