@babylonjs/smart-filters 1.0.10 → 1.0.12
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/blockFoundation/customShaderBlock.d.ts.map +1 -1
- package/dist/blockFoundation/customShaderBlock.js +19 -11
- package/dist/blockFoundation/customShaderBlock.js.map +1 -1
- package/dist/runtime/smartFilterRuntime.d.ts.map +1 -1
- package/dist/runtime/smartFilterRuntime.js +6 -0
- package/dist/runtime/smartFilterRuntime.js.map +1 -1
- package/dist/serialization/v1/shaderBlockSerialization.types.d.ts +1 -1
- package/dist/serialization/v1/shaderBlockSerialization.types.d.ts.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoBlock.d.ts.map +1 -1
- package/dist/utils/buildTools/convertGlslIntoBlock.js +98 -26
- package/dist/utils/buildTools/convertGlslIntoBlock.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/blockFoundation/customShaderBlock.ts +42 -11
- package/src/runtime/smartFilterRuntime.ts +8 -0
- package/src/serialization/v1/shaderBlockSerialization.types.ts +1 -1
- package/src/utils/buildTools/convertGlslIntoBlock.ts +108 -45
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderBlock.d.ts","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAE3G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"customShaderBlock.d.ts","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAE3G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA6EzD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;OAMG;WACW,MAAM,CAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,+BAA+B,GACjD,iBAAiB;IAcpB;;OAEG;IACH,OAAuB,SAAS,SAAuB;IAEvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,gBAAgB,CAAsD;IAE9E;;OAEG;IACH,IAAoB,SAAS,IAAI,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAoB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEhD;IAED;;;;;;;;;OASG;IACH,OAAO;IAoBP;;;OAGG;IACa,gBAAgB;IAIhC;;;;OAIG;IACH,OAAO,CAAC,yCAAyC;IAuBjD;;;OAGG;IACa,gBAAgB,IAAI,aAAa;CAmCpD"}
|
|
@@ -41,15 +41,21 @@ class CustomShaderBlockBinding extends ShaderBinding {
|
|
|
41
41
|
});
|
|
42
42
|
break;
|
|
43
43
|
case ConnectionPointType.Vector2:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
switch (input.autoBind) {
|
|
45
|
+
case "outputResolution":
|
|
46
|
+
this._bindSteps.push((effect, width, height) => {
|
|
47
|
+
effect.setFloat2(this.getRemappedName(input.name), width, height);
|
|
48
|
+
});
|
|
49
|
+
break;
|
|
50
|
+
case "outputAspectRatio":
|
|
51
|
+
this._bindSteps.push((effect, width, height) => {
|
|
52
|
+
effect.setFloat2(this.getRemappedName(input.name), width / height, height / width);
|
|
53
|
+
});
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
this._bindSteps.push((effect) => {
|
|
57
|
+
effect.setVector2(this.getRemappedName(input.name), input.runtimeData.value);
|
|
58
|
+
});
|
|
53
59
|
}
|
|
54
60
|
break;
|
|
55
61
|
}
|
|
@@ -161,8 +167,10 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
161
167
|
});
|
|
162
168
|
if (this._autoBoundInputs) {
|
|
163
169
|
for (const autoBoundInput of this._autoBoundInputs) {
|
|
164
|
-
if (autoBoundInput.autoBind === "outputResolution" &&
|
|
165
|
-
autoBoundInput.type == ConnectionPointType.Vector2)
|
|
170
|
+
if ((autoBoundInput.autoBind === "outputResolution" &&
|
|
171
|
+
autoBoundInput.type == ConnectionPointType.Vector2) ||
|
|
172
|
+
(autoBoundInput.autoBind === "outputAspectRatio" &&
|
|
173
|
+
autoBoundInput.type == ConnectionPointType.Vector2)) {
|
|
166
174
|
inputsToBind.push({
|
|
167
175
|
name: autoBoundInput.name,
|
|
168
176
|
type: autoBoundInput.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C;;GAEG;AACH,MAAM,wBAAyB,SAAQ,aAAa;IAGhD;;;OAGG;IACH,YAAmB,qBAAgD;QAC/D,KAAK,EAAE,CAAC;QAPK,eAAU,GAAgE,EAAE,CAAC;QAS1F,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;YACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,mBAAmB,CAAC,KAAK;oBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC/E,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,OAAO;oBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjF,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,MAAM;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChF,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,MAAM;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,OAAO;oBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9E,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,mBAAmB,CAAC,OAAO;oBAC5B,
|
|
1
|
+
{"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/smartFilterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,kBAAkB;IACjE;;OAEG;IACH,SAAgB,MAAM,EAAE,UAAU,CAAC;IAEnC;;OAEG;IACH,SAAgB,cAAc,EAAE,cAAc,CAAC;IAE/C;;OAEG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C;;;OAGG;gBACS,MAAM,EAAE,UAAU;IAW9B;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAIpD;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI9C;;;OAGG;IACI,MAAM,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"smartFilterRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/smartFilterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,kBAAkB;IACjE;;OAEG;IACH,SAAgB,MAAM,EAAE,UAAU,CAAC;IAEnC;;OAEG;IACH,SAAgB,cAAc,EAAE,cAAc,CAAC;IAE/C;;OAEG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C;;;OAGG;gBACS,MAAM,EAAE,UAAU;IAW9B;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAIpD;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI9C;;;OAGG;IACI,MAAM,IAAI,IAAI;IAiBrB;;OAEG;IACI,OAAO,IAAI,IAAI;CAKzB"}
|
|
@@ -38,7 +38,13 @@ export class InternalSmartFilterRuntime {
|
|
|
38
38
|
*/
|
|
39
39
|
render() {
|
|
40
40
|
try {
|
|
41
|
+
const depthTest = this.engine.depthCullingState.depthTest;
|
|
42
|
+
const stencilTest = this.engine.stencilState.stencilTest;
|
|
41
43
|
this.commandBuffer.execute();
|
|
44
|
+
// EffectRenderer.applyEffectWrapper(), which is called by ShaderRuntime._draw(),
|
|
45
|
+
// sets the depth/stencil state, so we need to restore it.
|
|
46
|
+
this.engine.depthCullingState.depthTest = depthTest;
|
|
47
|
+
this.engine.stencilState.stencilTest = stencilTest;
|
|
42
48
|
}
|
|
43
49
|
catch (e) {
|
|
44
50
|
// eslint-disable-next-line no-debugger
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterRuntime.js","sourceRoot":"","sources":["../../src/runtime/smartFilterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAyB5D;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAkBnC;;;OAGG;IACH,YAAY,MAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAEzC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,QAAqB;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,OAAgB;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,IAAI,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"smartFilterRuntime.js","sourceRoot":"","sources":["../../src/runtime/smartFilterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAyB5D;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAkBnC;;;OAGG;IACH,YAAY,MAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAEzC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,QAAqB;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,OAAgB;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;YAEzD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAE7B,iFAAiF;YACjF,0DAA0D;YAC1D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,uCAAuC;YACvC,QAAQ,CAAC;QACb,CAAC;IACL,CAAC;IAED;;OAEG;IACI,OAAO;QACV,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -48,7 +48,7 @@ export type SerializedShaderBlockDefinitionV1 = {
|
|
|
48
48
|
/**
|
|
49
49
|
* Possible V1 auto bind values for input connection points.
|
|
50
50
|
*/
|
|
51
|
-
export type InputAutoBindV1 = "outputResolution";
|
|
51
|
+
export type InputAutoBindV1 = "outputResolution" | "outputAspectRatio";
|
|
52
52
|
/**
|
|
53
53
|
* A V1 input connection point of a serialized block definition.
|
|
54
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderBlockSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/shaderBlockSerialization.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC5C;;OAEG;IACH,MAAM,EAAE,uBAAuB,CAAC;IAEhC;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,qBAAqB,EAAE,gCAAgC,EAAE,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"shaderBlockSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/shaderBlockSerialization.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC5C;;OAEG;IACH,MAAM,EAAE,uBAAuB,CAAC;IAEhC;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,qBAAqB,EAAE,gCAAgC,EAAE,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,gCAAgC,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,IAAI;IACxG;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertGlslIntoBlock.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convertGlslIntoBlock.d.ts","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoBlock.ts"],"names":[],"mappings":"AA8IA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAiMzF"}
|
|
@@ -23,11 +23,15 @@ const BLOCK_DISABLE_STRATEGY = "@BLOCK_DISABLE_STRATEGY@";
|
|
|
23
23
|
const BLOCK_GET_SHADER_BINDING_VARS = "@BLOCK_SHADER_BINDING_BIND_VARS@";
|
|
24
24
|
const BLOCK_GET_SHADER_PARAM_LIST = "@BLOCK_GET_SHADER_PARAM_LIST@";
|
|
25
25
|
const EFFECT_SETTER = "@EFFECT_SETTER@";
|
|
26
|
+
const EFFECT_VALUE = "@EFFECT_VALUE@";
|
|
27
|
+
const EXTRA_BIND_DOCSTRING = "@EXTRA_BIND_DOCSTRING@";
|
|
28
|
+
const EXTRA_BIND_PARAMS = "@EXTRA_BIND_PARAMS@";
|
|
26
29
|
const ShaderBindingPrivateVariablesTemplate = ` private readonly _${CAMEL_CASE_UNIFORM}: RuntimeData<ConnectionPointType.${CONNECTION_POINT_TYPE}>;`;
|
|
27
30
|
const ShaderBindingCtorDocstringParams = ` * @param ${CAMEL_CASE_UNIFORM} - The ${CAMEL_CASE_UNIFORM} runtime value`;
|
|
28
31
|
const ShaderBindingCtorParams = ` ${CAMEL_CASE_UNIFORM}: RuntimeData<ConnectionPointType.${CONNECTION_POINT_TYPE}>`;
|
|
29
32
|
const ShaderBindingCtor = ` this._${CAMEL_CASE_UNIFORM} = ${CAMEL_CASE_UNIFORM};`;
|
|
30
|
-
const ShaderBindingBind = ` effect.${EFFECT_SETTER}(this.getRemappedName(uniforms.${CAMEL_CASE_UNIFORM}),
|
|
33
|
+
const ShaderBindingBind = ` effect.${EFFECT_SETTER}(this.getRemappedName(uniforms.${CAMEL_CASE_UNIFORM}), ${EFFECT_VALUE});`;
|
|
34
|
+
const ShaderBindingBindRegularValue = `this._${CAMEL_CASE_UNIFORM}.value`;
|
|
31
35
|
const BlockInputProperty = ` /**
|
|
32
36
|
* The ${CAMEL_CASE_UNIFORM} connection point.
|
|
33
37
|
*/
|
|
@@ -83,9 +87,9 @@ ${SHADER_BINDING_CTOR}
|
|
|
83
87
|
|
|
84
88
|
/**
|
|
85
89
|
* Binds all the required data to the shader when rendering.
|
|
86
|
-
* @param effect - defines the effect to bind the data to
|
|
90
|
+
* @param effect - defines the effect to bind the data to${EXTRA_BIND_DOCSTRING}
|
|
87
91
|
*/
|
|
88
|
-
public override bind(effect: Effect): void {
|
|
92
|
+
public override bind(effect: Effect${EXTRA_BIND_PARAMS}): void {
|
|
89
93
|
${SHADER_BINDING_BIND}
|
|
90
94
|
}
|
|
91
95
|
}
|
|
@@ -144,29 +148,86 @@ export function convertGlslIntoBlock(fragmentShaderPath, importPath) {
|
|
|
144
148
|
throw new Error("The glsl file must contain a header comment with a smartFilterBlockType value");
|
|
145
149
|
}
|
|
146
150
|
// Generate shader binding private variables
|
|
147
|
-
const shaderBindingPrivateVariables = fragmentShaderInfo.uniforms
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
const shaderBindingPrivateVariables = fragmentShaderInfo.uniforms
|
|
152
|
+
.map((uniform) => {
|
|
153
|
+
var _a;
|
|
154
|
+
return ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind)
|
|
155
|
+
? null
|
|
156
|
+
: ShaderBindingPrivateVariablesTemplate.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type));
|
|
157
|
+
})
|
|
158
|
+
.filter((line) => line !== null);
|
|
150
159
|
// Generate the shader binding constructor docstring params
|
|
151
|
-
const shaderBindingCtorDocstringParams = fragmentShaderInfo.uniforms
|
|
152
|
-
|
|
153
|
-
|
|
160
|
+
const shaderBindingCtorDocstringParams = fragmentShaderInfo.uniforms
|
|
161
|
+
.map((uniform) => {
|
|
162
|
+
var _a;
|
|
163
|
+
return ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind)
|
|
164
|
+
? null
|
|
165
|
+
: ShaderBindingCtorDocstringParams.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
|
|
166
|
+
})
|
|
167
|
+
.filter((param) => param !== null);
|
|
154
168
|
// Generate the shader binding constructor params
|
|
155
|
-
const shaderBindingCtorParams = fragmentShaderInfo.uniforms
|
|
156
|
-
|
|
157
|
-
|
|
169
|
+
const shaderBindingCtorParams = fragmentShaderInfo.uniforms
|
|
170
|
+
.map((uniform) => {
|
|
171
|
+
var _a;
|
|
172
|
+
return ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind)
|
|
173
|
+
? null
|
|
174
|
+
: ShaderBindingCtorParams.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type));
|
|
175
|
+
})
|
|
176
|
+
.filter((param) => param !== null);
|
|
158
177
|
// Generate the shader binding constructor
|
|
159
|
-
const shaderBindingCtor = fragmentShaderInfo.uniforms
|
|
160
|
-
|
|
161
|
-
|
|
178
|
+
const shaderBindingCtor = fragmentShaderInfo.uniforms
|
|
179
|
+
.map((uniform) => {
|
|
180
|
+
var _a;
|
|
181
|
+
return ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind)
|
|
182
|
+
? null
|
|
183
|
+
: ShaderBindingCtor.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
|
|
184
|
+
})
|
|
185
|
+
.filter((line) => line !== null);
|
|
162
186
|
// Generate the shader binding bind
|
|
187
|
+
let needWidthHeightParams = false;
|
|
163
188
|
const shaderBindingBind = fragmentShaderInfo.uniforms.map((uniform) => {
|
|
164
|
-
|
|
189
|
+
var _a;
|
|
190
|
+
let effectValue;
|
|
191
|
+
let effectSetter = getEffectSetter(uniform.type);
|
|
192
|
+
switch ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind) {
|
|
193
|
+
case "outputResolution":
|
|
194
|
+
{
|
|
195
|
+
effectValue = "width, height";
|
|
196
|
+
effectSetter = "setFloat2";
|
|
197
|
+
needWidthHeightParams = true;
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
case "outputAspectRatio":
|
|
201
|
+
{
|
|
202
|
+
effectValue = "width / height, height / width";
|
|
203
|
+
effectSetter = "setFloat2";
|
|
204
|
+
needWidthHeightParams = true;
|
|
205
|
+
}
|
|
206
|
+
break;
|
|
207
|
+
default:
|
|
208
|
+
effectValue = ShaderBindingBindRegularValue;
|
|
209
|
+
}
|
|
210
|
+
return ShaderBindingBind.replace(EFFECT_VALUE, effectValue)
|
|
211
|
+
.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name)
|
|
212
|
+
.replace(EFFECT_SETTER, effectSetter);
|
|
165
213
|
});
|
|
214
|
+
// Add extra params to the bind method if needed
|
|
215
|
+
let extraBindParams = "";
|
|
216
|
+
let extraBindDocstring = "";
|
|
217
|
+
if (needWidthHeightParams) {
|
|
218
|
+
extraBindDocstring = `
|
|
219
|
+
* @param width - defines the width of the output
|
|
220
|
+
* @param height - defines the height of the output`;
|
|
221
|
+
extraBindParams = `, width: number, height: number`;
|
|
222
|
+
}
|
|
166
223
|
// Generate the block input properties
|
|
167
|
-
const blockInputProperties = fragmentShaderInfo.uniforms
|
|
168
|
-
|
|
169
|
-
|
|
224
|
+
const blockInputProperties = fragmentShaderInfo.uniforms
|
|
225
|
+
.map((uniform) => {
|
|
226
|
+
var _a, _b;
|
|
227
|
+
if ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind) {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
else if (((_b = uniform.properties) === null || _b === void 0 ? void 0 : _b.default) !== undefined) {
|
|
170
231
|
if (extraImports.indexOf(" createStrongRef") === -1) {
|
|
171
232
|
extraImports.push(" createStrongRef");
|
|
172
233
|
}
|
|
@@ -177,17 +238,26 @@ export function convertGlslIntoBlock(fragmentShaderPath, importPath) {
|
|
|
177
238
|
else {
|
|
178
239
|
return BlockInputProperty.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name).replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type));
|
|
179
240
|
}
|
|
180
|
-
})
|
|
241
|
+
})
|
|
242
|
+
.filter((property) => property !== null);
|
|
181
243
|
// Generate the block get shader binding vars
|
|
182
|
-
const blockGetShaderBindingVars = fragmentShaderInfo.uniforms
|
|
183
|
-
|
|
184
|
-
|
|
244
|
+
const blockGetShaderBindingVars = fragmentShaderInfo.uniforms
|
|
245
|
+
.map((uniform) => {
|
|
246
|
+
var _a;
|
|
247
|
+
return ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind)
|
|
248
|
+
? null
|
|
249
|
+
: BlockGetShaderBindingVars.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
|
|
250
|
+
})
|
|
251
|
+
.filter((line) => line !== null);
|
|
185
252
|
// Handle the disable optimization flag
|
|
186
253
|
const disableOptimization = fragmentShaderInfo.disableOptimization === true ? "true" : "false";
|
|
187
254
|
// Generate the block get shader param list
|
|
188
|
-
const blockGetShaderParamList = fragmentShaderInfo.uniforms
|
|
189
|
-
|
|
190
|
-
|
|
255
|
+
const blockGetShaderParamList = fragmentShaderInfo.uniforms
|
|
256
|
+
.map((uniform) => {
|
|
257
|
+
var _a;
|
|
258
|
+
return ((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.autoBind) ? null : uniform.name;
|
|
259
|
+
})
|
|
260
|
+
.filter((param) => param !== null);
|
|
191
261
|
// Decide if this is a disableable block or not
|
|
192
262
|
let shaderBlockExtends = "ShaderBlock";
|
|
193
263
|
let shaderBindingExtends = "ShaderBinding";
|
|
@@ -224,6 +294,8 @@ export function convertGlslIntoBlock(fragmentShaderPath, importPath) {
|
|
|
224
294
|
.replace(SHADER_BINDING_CTOR, shaderBindingCtor.join("\n"))
|
|
225
295
|
.replace(SHADER_BINDING_SUPER_PARAMS, shaderBindingSuperParams)
|
|
226
296
|
.replace(SHADER_BINDING_BIND, shaderBindingBind.join("\n"))
|
|
297
|
+
.replace(EXTRA_BIND_DOCSTRING, extraBindDocstring)
|
|
298
|
+
.replace(EXTRA_BIND_PARAMS, extraBindParams)
|
|
227
299
|
.replace(new RegExp(SHADER_BLOCK_EXTENDS, "g"), shaderBlockExtends)
|
|
228
300
|
.replace(BLOCK_INPUT_PROPERTIES, blockInputProperties.join("\n"))
|
|
229
301
|
.replace(BLOCK_DISABLE_OPTIMIZATION, disableOptimization)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertGlslIntoBlock.js","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAEvF,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAC1C,MAAM,UAAU,GAAG,cAAc,CAAC;AAClC,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,gCAAgC,GAAG,oCAAoC,CAAC;AAC9E,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AACxD,MAAM,8BAA8B,GAAG,kCAAkC,CAAC;AAC1E,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,oCAAoC,GAAG,wCAAwC,CAAC;AACtF,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAC1D,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AACpE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAClE,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,6BAA6B,GAAG,kCAAkC,CAAC;AACzE,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"convertGlslIntoBlock.js","sourceRoot":"","sources":["../../../src/utils/buildTools/convertGlslIntoBlock.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The version of the SmartFilter core. During publish, this file is overwritten by versionUp.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export declare const SmartFilterCoreVersion = "1.0.
|
|
4
|
+
export declare const SmartFilterCoreVersion = "1.0.12";
|
|
5
5
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The version of the SmartFilter core. During publish, this file is overwritten by versionUp.ts with the same version that is used for the NPM publish.
|
|
3
3
|
*/
|
|
4
|
-
export const SmartFilterCoreVersion = "1.0.
|
|
4
|
+
export const SmartFilterCoreVersion = "1.0.12";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -51,14 +51,21 @@ class CustomShaderBlockBinding extends ShaderBinding {
|
|
|
51
51
|
});
|
|
52
52
|
break;
|
|
53
53
|
case ConnectionPointType.Vector2:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
switch (input.autoBind) {
|
|
55
|
+
case "outputResolution":
|
|
56
|
+
this._bindSteps.push((effect, width, height) => {
|
|
57
|
+
effect.setFloat2(this.getRemappedName(input.name), width, height);
|
|
58
|
+
});
|
|
59
|
+
break;
|
|
60
|
+
case "outputAspectRatio":
|
|
61
|
+
this._bindSteps.push((effect, width, height) => {
|
|
62
|
+
effect.setFloat2(this.getRemappedName(input.name), width / height, height / width);
|
|
63
|
+
});
|
|
64
|
+
break;
|
|
65
|
+
default:
|
|
66
|
+
this._bindSteps.push((effect) => {
|
|
67
|
+
effect.setVector2(this.getRemappedName(input.name), input.runtimeData.value);
|
|
68
|
+
});
|
|
62
69
|
}
|
|
63
70
|
break;
|
|
64
71
|
}
|
|
@@ -217,8 +224,10 @@ export class CustomShaderBlock extends ShaderBlock {
|
|
|
217
224
|
if (this._autoBoundInputs) {
|
|
218
225
|
for (const autoBoundInput of this._autoBoundInputs) {
|
|
219
226
|
if (
|
|
220
|
-
autoBoundInput.autoBind === "outputResolution" &&
|
|
221
|
-
|
|
227
|
+
(autoBoundInput.autoBind === "outputResolution" &&
|
|
228
|
+
autoBoundInput.type == ConnectionPointType.Vector2) ||
|
|
229
|
+
(autoBoundInput.autoBind === "outputAspectRatio" &&
|
|
230
|
+
autoBoundInput.type == ConnectionPointType.Vector2)
|
|
222
231
|
) {
|
|
223
232
|
inputsToBind.push({
|
|
224
233
|
name: autoBoundInput.name,
|
|
@@ -282,6 +291,27 @@ type AutoBindOutputResolution = {
|
|
|
282
291
|
autoBind: "outputResolution";
|
|
283
292
|
};
|
|
284
293
|
|
|
294
|
+
/**
|
|
295
|
+
* Represents an input which is auto-bound to the output's aspect ratio instead of an input connection point.
|
|
296
|
+
* The x value is the aspect ratio (width / height) and the y value is the inverse aspect ratio (height / width).
|
|
297
|
+
*/
|
|
298
|
+
type AutoBindOutputAspectRatio = {
|
|
299
|
+
/**
|
|
300
|
+
* The name of the input
|
|
301
|
+
*/
|
|
302
|
+
name: string;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* The type of the input
|
|
306
|
+
*/
|
|
307
|
+
type: ConnectionPointType.Vector2;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* The auto bind value for the input connection point
|
|
311
|
+
*/
|
|
312
|
+
autoBind: "outputAspectRatio";
|
|
313
|
+
};
|
|
314
|
+
|
|
285
315
|
/**
|
|
286
316
|
* All possible input types with runtime data.
|
|
287
317
|
*/
|
|
@@ -292,4 +322,5 @@ type AnyInputWithRuntimeData =
|
|
|
292
322
|
| InputWithRuntimeData<ConnectionPointType.Float>
|
|
293
323
|
| InputWithRuntimeData<ConnectionPointType.Texture>
|
|
294
324
|
| InputWithRuntimeData<ConnectionPointType.Vector2>
|
|
295
|
-
| AutoBindOutputResolution
|
|
325
|
+
| AutoBindOutputResolution
|
|
326
|
+
| AutoBindOutputAspectRatio;
|
|
@@ -86,7 +86,15 @@ export class InternalSmartFilterRuntime implements SmartFilterRuntime {
|
|
|
86
86
|
*/
|
|
87
87
|
public render(): void {
|
|
88
88
|
try {
|
|
89
|
+
const depthTest = this.engine.depthCullingState.depthTest;
|
|
90
|
+
const stencilTest = this.engine.stencilState.stencilTest;
|
|
91
|
+
|
|
89
92
|
this.commandBuffer.execute();
|
|
93
|
+
|
|
94
|
+
// EffectRenderer.applyEffectWrapper(), which is called by ShaderRuntime._draw(),
|
|
95
|
+
// sets the depth/stencil state, so we need to restore it.
|
|
96
|
+
this.engine.depthCullingState.depthTest = depthTest;
|
|
97
|
+
this.engine.stencilState.stencilTest = stencilTest;
|
|
90
98
|
} catch (e) {
|
|
91
99
|
// eslint-disable-next-line no-debugger
|
|
92
100
|
debugger;
|
|
@@ -57,7 +57,7 @@ export type SerializedShaderBlockDefinitionV1 = {
|
|
|
57
57
|
/**
|
|
58
58
|
* Possible V1 auto bind values for input connection points.
|
|
59
59
|
*/
|
|
60
|
-
export type InputAutoBindV1 = "outputResolution";
|
|
60
|
+
export type InputAutoBindV1 = "outputResolution" | "outputAspectRatio";
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* A V1 input connection point of a serialized block definition.
|
|
@@ -24,12 +24,16 @@ const BLOCK_DISABLE_STRATEGY = "@BLOCK_DISABLE_STRATEGY@";
|
|
|
24
24
|
const BLOCK_GET_SHADER_BINDING_VARS = "@BLOCK_SHADER_BINDING_BIND_VARS@";
|
|
25
25
|
const BLOCK_GET_SHADER_PARAM_LIST = "@BLOCK_GET_SHADER_PARAM_LIST@";
|
|
26
26
|
const EFFECT_SETTER = "@EFFECT_SETTER@";
|
|
27
|
+
const EFFECT_VALUE = "@EFFECT_VALUE@";
|
|
28
|
+
const EXTRA_BIND_DOCSTRING = "@EXTRA_BIND_DOCSTRING@";
|
|
29
|
+
const EXTRA_BIND_PARAMS = "@EXTRA_BIND_PARAMS@";
|
|
27
30
|
|
|
28
31
|
const ShaderBindingPrivateVariablesTemplate = ` private readonly _${CAMEL_CASE_UNIFORM}: RuntimeData<ConnectionPointType.${CONNECTION_POINT_TYPE}>;`;
|
|
29
32
|
const ShaderBindingCtorDocstringParams = ` * @param ${CAMEL_CASE_UNIFORM} - The ${CAMEL_CASE_UNIFORM} runtime value`;
|
|
30
33
|
const ShaderBindingCtorParams = ` ${CAMEL_CASE_UNIFORM}: RuntimeData<ConnectionPointType.${CONNECTION_POINT_TYPE}>`;
|
|
31
34
|
const ShaderBindingCtor = ` this._${CAMEL_CASE_UNIFORM} = ${CAMEL_CASE_UNIFORM};`;
|
|
32
|
-
const ShaderBindingBind = ` effect.${EFFECT_SETTER}(this.getRemappedName(uniforms.${CAMEL_CASE_UNIFORM}),
|
|
35
|
+
const ShaderBindingBind = ` effect.${EFFECT_SETTER}(this.getRemappedName(uniforms.${CAMEL_CASE_UNIFORM}), ${EFFECT_VALUE});`;
|
|
36
|
+
const ShaderBindingBindRegularValue = `this._${CAMEL_CASE_UNIFORM}.value`;
|
|
33
37
|
|
|
34
38
|
const BlockInputProperty = ` /**
|
|
35
39
|
* The ${CAMEL_CASE_UNIFORM} connection point.
|
|
@@ -87,9 +91,9 @@ ${SHADER_BINDING_CTOR}
|
|
|
87
91
|
|
|
88
92
|
/**
|
|
89
93
|
* Binds all the required data to the shader when rendering.
|
|
90
|
-
* @param effect - defines the effect to bind the data to
|
|
94
|
+
* @param effect - defines the effect to bind the data to${EXTRA_BIND_DOCSTRING}
|
|
91
95
|
*/
|
|
92
|
-
public override bind(effect: Effect): void {
|
|
96
|
+
public override bind(effect: Effect${EXTRA_BIND_PARAMS}): void {
|
|
93
97
|
${SHADER_BINDING_BIND}
|
|
94
98
|
}
|
|
95
99
|
}
|
|
@@ -157,68 +161,125 @@ export function convertGlslIntoBlock(fragmentShaderPath: string, importPath: str
|
|
|
157
161
|
}
|
|
158
162
|
|
|
159
163
|
// Generate shader binding private variables
|
|
160
|
-
const shaderBindingPrivateVariables = fragmentShaderInfo.uniforms
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
const shaderBindingPrivateVariables = fragmentShaderInfo.uniforms
|
|
165
|
+
.map((uniform) => {
|
|
166
|
+
return uniform.properties?.autoBind
|
|
167
|
+
? null
|
|
168
|
+
: ShaderBindingPrivateVariablesTemplate.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(
|
|
169
|
+
CONNECTION_POINT_TYPE,
|
|
170
|
+
getConnectionPointTypeString(uniform.type)
|
|
171
|
+
);
|
|
172
|
+
})
|
|
173
|
+
.filter((line) => line !== null);
|
|
166
174
|
|
|
167
175
|
// Generate the shader binding constructor docstring params
|
|
168
|
-
const shaderBindingCtorDocstringParams = fragmentShaderInfo.uniforms
|
|
169
|
-
|
|
170
|
-
|
|
176
|
+
const shaderBindingCtorDocstringParams = fragmentShaderInfo.uniforms
|
|
177
|
+
.map((uniform) => {
|
|
178
|
+
return uniform.properties?.autoBind
|
|
179
|
+
? null
|
|
180
|
+
: ShaderBindingCtorDocstringParams.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
|
|
181
|
+
})
|
|
182
|
+
.filter((param) => param !== null);
|
|
171
183
|
|
|
172
184
|
// Generate the shader binding constructor params
|
|
173
|
-
const shaderBindingCtorParams = fragmentShaderInfo.uniforms
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
185
|
+
const shaderBindingCtorParams = fragmentShaderInfo.uniforms
|
|
186
|
+
.map((uniform) => {
|
|
187
|
+
return uniform.properties?.autoBind
|
|
188
|
+
? null
|
|
189
|
+
: ShaderBindingCtorParams.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(
|
|
190
|
+
CONNECTION_POINT_TYPE,
|
|
191
|
+
getConnectionPointTypeString(uniform.type)
|
|
192
|
+
);
|
|
193
|
+
})
|
|
194
|
+
.filter((param) => param !== null);
|
|
179
195
|
|
|
180
196
|
// Generate the shader binding constructor
|
|
181
|
-
const shaderBindingCtor = fragmentShaderInfo.uniforms
|
|
182
|
-
|
|
183
|
-
|
|
197
|
+
const shaderBindingCtor = fragmentShaderInfo.uniforms
|
|
198
|
+
.map((uniform) => {
|
|
199
|
+
return uniform.properties?.autoBind
|
|
200
|
+
? null
|
|
201
|
+
: ShaderBindingCtor.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
|
|
202
|
+
})
|
|
203
|
+
.filter((line) => line !== null);
|
|
184
204
|
|
|
185
205
|
// Generate the shader binding bind
|
|
206
|
+
let needWidthHeightParams = false;
|
|
186
207
|
const shaderBindingBind = fragmentShaderInfo.uniforms.map((uniform) => {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
)
|
|
208
|
+
let effectValue: string;
|
|
209
|
+
let effectSetter = getEffectSetter(uniform.type);
|
|
210
|
+
|
|
211
|
+
switch (uniform.properties?.autoBind) {
|
|
212
|
+
case "outputResolution":
|
|
213
|
+
{
|
|
214
|
+
effectValue = "width, height";
|
|
215
|
+
effectSetter = "setFloat2";
|
|
216
|
+
needWidthHeightParams = true;
|
|
217
|
+
}
|
|
218
|
+
break;
|
|
219
|
+
case "outputAspectRatio":
|
|
220
|
+
{
|
|
221
|
+
effectValue = "width / height, height / width";
|
|
222
|
+
effectSetter = "setFloat2";
|
|
223
|
+
needWidthHeightParams = true;
|
|
224
|
+
}
|
|
225
|
+
break;
|
|
226
|
+
default:
|
|
227
|
+
effectValue = ShaderBindingBindRegularValue;
|
|
228
|
+
}
|
|
229
|
+
return ShaderBindingBind.replace(EFFECT_VALUE, effectValue)
|
|
230
|
+
.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name)
|
|
231
|
+
.replace(EFFECT_SETTER, effectSetter);
|
|
191
232
|
});
|
|
192
233
|
|
|
234
|
+
// Add extra params to the bind method if needed
|
|
235
|
+
let extraBindParams = "";
|
|
236
|
+
let extraBindDocstring = "";
|
|
237
|
+
if (needWidthHeightParams) {
|
|
238
|
+
extraBindDocstring = `
|
|
239
|
+
* @param width - defines the width of the output
|
|
240
|
+
* @param height - defines the height of the output`;
|
|
241
|
+
extraBindParams = `, width: number, height: number`;
|
|
242
|
+
}
|
|
243
|
+
|
|
193
244
|
// Generate the block input properties
|
|
194
|
-
const blockInputProperties = fragmentShaderInfo.uniforms
|
|
195
|
-
|
|
196
|
-
if (
|
|
197
|
-
|
|
245
|
+
const blockInputProperties = fragmentShaderInfo.uniforms
|
|
246
|
+
.map((uniform) => {
|
|
247
|
+
if (uniform.properties?.autoBind) {
|
|
248
|
+
return null;
|
|
249
|
+
} else if (uniform.properties?.default !== undefined) {
|
|
250
|
+
if (extraImports.indexOf(" createStrongRef") === -1) {
|
|
251
|
+
extraImports.push(" createStrongRef");
|
|
252
|
+
}
|
|
253
|
+
return BlockInputOptionalProperty.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name)
|
|
254
|
+
.replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type))
|
|
255
|
+
.replace(CONNECTION_POINT_DEFAULT_VALUE, uniform.properties.default);
|
|
256
|
+
} else {
|
|
257
|
+
return BlockInputProperty.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name).replace(
|
|
258
|
+
CONNECTION_POINT_TYPE,
|
|
259
|
+
getConnectionPointTypeString(uniform.type)
|
|
260
|
+
);
|
|
198
261
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
.replace(CONNECTION_POINT_DEFAULT_VALUE, uniform.properties.default);
|
|
202
|
-
} else {
|
|
203
|
-
return BlockInputProperty.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name).replace(
|
|
204
|
-
CONNECTION_POINT_TYPE,
|
|
205
|
-
getConnectionPointTypeString(uniform.type)
|
|
206
|
-
);
|
|
207
|
-
}
|
|
208
|
-
});
|
|
262
|
+
})
|
|
263
|
+
.filter((property) => property !== null);
|
|
209
264
|
|
|
210
265
|
// Generate the block get shader binding vars
|
|
211
|
-
const blockGetShaderBindingVars = fragmentShaderInfo.uniforms
|
|
212
|
-
|
|
213
|
-
|
|
266
|
+
const blockGetShaderBindingVars = fragmentShaderInfo.uniforms
|
|
267
|
+
.map((uniform) => {
|
|
268
|
+
return uniform.properties?.autoBind
|
|
269
|
+
? null
|
|
270
|
+
: BlockGetShaderBindingVars.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
|
|
271
|
+
})
|
|
272
|
+
.filter((line) => line !== null);
|
|
214
273
|
|
|
215
274
|
// Handle the disable optimization flag
|
|
216
275
|
const disableOptimization = fragmentShaderInfo.disableOptimization === true ? "true" : "false";
|
|
217
276
|
|
|
218
277
|
// Generate the block get shader param list
|
|
219
|
-
const blockGetShaderParamList = fragmentShaderInfo.uniforms
|
|
220
|
-
|
|
221
|
-
|
|
278
|
+
const blockGetShaderParamList = fragmentShaderInfo.uniforms
|
|
279
|
+
.map((uniform) => {
|
|
280
|
+
return uniform.properties?.autoBind ? null : uniform.name;
|
|
281
|
+
})
|
|
282
|
+
.filter((param) => param !== null);
|
|
222
283
|
|
|
223
284
|
// Decide if this is a disableable block or not
|
|
224
285
|
let shaderBlockExtends = "ShaderBlock";
|
|
@@ -265,6 +326,8 @@ export function convertGlslIntoBlock(fragmentShaderPath: string, importPath: str
|
|
|
265
326
|
.replace(SHADER_BINDING_CTOR, shaderBindingCtor.join("\n"))
|
|
266
327
|
.replace(SHADER_BINDING_SUPER_PARAMS, shaderBindingSuperParams)
|
|
267
328
|
.replace(SHADER_BINDING_BIND, shaderBindingBind.join("\n"))
|
|
329
|
+
.replace(EXTRA_BIND_DOCSTRING, extraBindDocstring)
|
|
330
|
+
.replace(EXTRA_BIND_PARAMS, extraBindParams)
|
|
268
331
|
.replace(new RegExp(SHADER_BLOCK_EXTENDS, "g"), shaderBlockExtends)
|
|
269
332
|
.replace(BLOCK_INPUT_PROPERTIES, blockInputProperties.join("\n"))
|
|
270
333
|
.replace(BLOCK_DISABLE_OPTIMIZATION, disableOptimization)
|
package/src/version.ts
CHANGED