@babylonjs/smart-filters 1.0.11 → 1.0.13
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/serialization/smartFilterDeserializer.d.ts.map +1 -1
- package/dist/serialization/smartFilterDeserializer.js +5 -0
- package/dist/serialization/smartFilterDeserializer.js.map +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.d.ts.map +1 -1
- package/dist/serialization/v1/defaultBlockSerializer.js +2 -0
- package/dist/serialization/v1/defaultBlockSerializer.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/serialization/v1/smartFilterSerialization.types.d.ts +3 -0
- package/dist/serialization/v1/smartFilterSerialization.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 +2 -2
- package/src/blockFoundation/customShaderBlock.ts +42 -11
- package/src/serialization/smartFilterDeserializer.ts +6 -0
- package/src/serialization/v1/defaultBlockSerializer.ts +2 -0
- package/src/serialization/v1/shaderBlockSerialization.types.ts +1 -1
- package/src/serialization/v1/smartFilterSerialization.types.ts +4 -0
- 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":"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,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACrB,KAAK,kBAAkB;4BACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gCAC3C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;4BACtE,CAAC,CAAC,CAAC;4BACH,MAAM;wBACV,KAAK,mBAAmB;4BACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gCAC3C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC;4BACH,MAAM;wBACV;4BACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gCAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BACjF,CAAC,CAAC,CAAC;oBACX,CAAC;oBACD,MAAM;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACa,IAAI,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAC9C;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAChB,WAAwB,EACxB,IAAY,EACZ,eAAgD;QAEhD,4HAA4H;QAE5H,OAAO,IAAI,iBAAiB,CACxB,WAAW,EACX,IAAI,EACJ,eAAe,CAAC,mBAAmB,EACnC,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,qBAAqB,EACrC,eAAe,CAAC,aAAa,CAChC,CAAC;IACN,CAAC;IAYD;;OAEG;IACH,IAAoB,SAAS;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAoB,SAAS;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACH,YACI,WAAwB,EACxB,IAAY,EACZ,mBAA4B,EAC5B,SAAiB,EACjB,SAA2B,EAC3B,qBAAyD,EACzD,aAA4B;QAE5B,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QApC1C,qBAAgB,GAAiD,IAAI,CAAC;QAqC1E,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;YACxC,IAAI,CAAC,yCAAyC,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;OAGG;IACa,gBAAgB;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACK,yCAAyC,CAC7C,eAAoD;QAEpD,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC3B,kEAAkE;YAClE,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,2DAA2D;YAC3D,IAAI,eAAe,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC,sBAAsB,CACvB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAChD,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACa,gBAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,MAAM,YAAY,GAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;gBACpD,QAAQ,EAAE,SAAS;aACtB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjD,IACI,CAAC,cAAc,CAAC,QAAQ,KAAK,kBAAkB;oBAC3C,cAAc,CAAC,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC;oBACvD,CAAC,cAAc,CAAC,QAAQ,KAAK,mBAAmB;wBAC5C,cAAc,CAAC,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,EACzD,CAAC;oBACC,YAAY,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ;qBACpC,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CACX,oBAAoB,cAAc,CAAC,IAAI,6CAA6C,CACvF,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;;AAjID;;GAEG;AACoB,2BAAS,GAAG,mBAAmB,AAAtB,CAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterDeserializer.d.ts","sourceRoot":"","sources":["../../src/serialization/smartFilterDeserializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"smartFilterDeserializer.d.ts","sourceRoot":"","sources":["../../src/serialization/smartFilterDeserializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,KAAK,EACR,kBAAkB,EAElB,2BAA2B,EAE9B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CACvB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,UAAU,EAClB,eAAe,EAAE,kBAAkB,EACnC,uBAAuB,EAAE,uBAAuB,KAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAElC;;;;GAIG;AACH,qBAAa,uBAAuB;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAA8B;IAE7E;;;;OAIG;gBACgB,YAAY,EAAE,YAAY,EAAE,4BAA4B,CAAC,EAAE,2BAA2B;IAKzG;;;;;OAKG;IACU,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;YAc1E,cAAc;YAoFd,mBAAmB;CAqEpC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SmartFilter } from "../smartFilter.js";
|
|
2
|
+
import { ShaderBlock } from "../blockFoundation/shaderBlock.js";
|
|
2
3
|
import { inputBlockDeserializer } from "../blockFoundation/inputBlock.deserializer.js";
|
|
3
4
|
import { OutputBlock } from "../blockFoundation/outputBlock.js";
|
|
4
5
|
import { InputBlock } from "../blockFoundation/inputBlock.js";
|
|
@@ -128,6 +129,10 @@ export class SmartFilterDeserializer {
|
|
|
128
129
|
// blocks, and so each deserializer doesn't have to remember to do it.
|
|
129
130
|
newBlock.uniqueId = serializedBlock.uniqueId;
|
|
130
131
|
newBlock.comments = serializedBlock.comments;
|
|
132
|
+
// Deserializers are also not responsible for deserializing the outputTextureOptions of ShaderBlocks.
|
|
133
|
+
if (serializedBlock.outputTextureOptions && newBlock instanceof ShaderBlock) {
|
|
134
|
+
newBlock.outputTextureOptions = serializedBlock.outputTextureOptions;
|
|
135
|
+
}
|
|
131
136
|
// We need to ensure any uniqueIds generated in the future (e.g. a new block is added to the SmartFilter)
|
|
132
137
|
// are higher than this one.
|
|
133
138
|
UniqueIdGenerator.EnsureIdsGreaterThan(newBlock.uniqueId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterDeserializer.js","sourceRoot":"","sources":["../../src/serialization/smartFilterDeserializer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartFilterDeserializer.js","sourceRoot":"","sources":["../../src/serialization/smartFilterDeserializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultBlockSerializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultBlockSerializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAE7F;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,gBAUpC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ShaderBlock } from "../../blockFoundation/shaderBlock.js";
|
|
1
2
|
/**
|
|
2
3
|
* The default V1 block serializer which can be used for any block that relies only on ConnectionPoints
|
|
3
4
|
* and does not have any constructor parameters or class properties that need to be serialized.
|
|
@@ -12,6 +13,7 @@ export const defaultBlockSerializer = (block) => {
|
|
|
12
13
|
namespace: block.namespace,
|
|
13
14
|
comments: block.comments,
|
|
14
15
|
data: undefined,
|
|
16
|
+
outputTextureOptions: block instanceof ShaderBlock ? block.outputTextureOptions : undefined,
|
|
15
17
|
};
|
|
16
18
|
};
|
|
17
19
|
//# sourceMappingURL=defaultBlockSerializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultBlockSerializer.js","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultBlockSerializer.js","sourceRoot":"","sources":["../../../src/serialization/v1/defaultBlockSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAqB,CAAC,KAAgB,EAAsB,EAAE;IAC7F,OAAO;QACH,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,SAAS;QACf,oBAAoB,EAAE,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KAC9F,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -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"}
|
|
@@ -4,6 +4,7 @@ import type { SmartFilter } from "../../smartFilter.js";
|
|
|
4
4
|
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine";
|
|
5
5
|
import type { IEditorData } from "@babylonjs/shared-ui-components/nodeGraphSystem/interfaces/nodeLocationInfo.js";
|
|
6
6
|
import type { SmartFilterDeserializer } from "../smartFilterDeserializer.js";
|
|
7
|
+
import type { OutputTextureOptions } from "../../blockFoundation/textureOptions.js";
|
|
7
8
|
/**
|
|
8
9
|
* ----------------------------------------------------------------------------
|
|
9
10
|
* Serialized Data Types
|
|
@@ -45,6 +46,8 @@ export interface ISerializedBlockV1 {
|
|
|
45
46
|
blockType: string;
|
|
46
47
|
/** The comments for the block */
|
|
47
48
|
comments: Nullable<string>;
|
|
49
|
+
/** The OutputTextureOptions for serialized ShaderBlocks */
|
|
50
|
+
outputTextureOptions?: OutputTextureOptions;
|
|
48
51
|
/** Block specific serialized data */
|
|
49
52
|
data: any;
|
|
50
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartFilterSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/smartFilterSerialization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gFAAgF,CAAC;AAClH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"smartFilterSerialization.types.d.ts","sourceRoot":"","sources":["../../../src/serialization/v1/smartFilterSerialization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gFAAgF,CAAC;AAClH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEpF;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,6CAA6C;IAC7C,MAAM,EAAE,aAAa,CAAC;IAEtB,4FAA4F;IAC5F,aAAa,EAAE,CAAC,CAAC;IAEjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B,+BAA+B;IAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,0CAA0C;IAC1C,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElC,4BAA4B;IAC5B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE7B,iCAAiC;IACjC,WAAW,EAAE,uBAAuB,EAAE,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE5B,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;IAEjB,yGAAyG;IACzG,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAE5C,qCAAqC;IACrC,IAAI,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,kBAAkB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAElB,iEAAiE;IACjE,SAAS,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC7B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,UAAU,EAClB,uBAAuB,EAAE,uBAAuB,KAC/C,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACtC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,UAAU,KACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,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.13";
|
|
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.13";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@babylonjs/smart-filters",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"description": "Babylon.js Smart Filter core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"video",
|
|
@@ -42,6 +42,6 @@
|
|
|
42
42
|
"test": "echo \"Error: run test from the root of the monorepo\" && exit 1"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@babylonjs/core": "^8.0.1"
|
|
45
|
+
"@babylonjs/core": "^7.47.3 || ^8.0.1"
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -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;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BaseBlock } from "../blockFoundation/baseBlock";
|
|
2
2
|
import type { SerializedSmartFilter } from "./serializedSmartFilter.js";
|
|
3
3
|
import { SmartFilter } from "../smartFilter.js";
|
|
4
|
+
import { ShaderBlock } from "../blockFoundation/shaderBlock.js";
|
|
4
5
|
import { inputBlockDeserializer } from "../blockFoundation/inputBlock.deserializer.js";
|
|
5
6
|
import { OutputBlock } from "../blockFoundation/outputBlock.js";
|
|
6
7
|
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine";
|
|
@@ -203,6 +204,11 @@ export class SmartFilterDeserializer {
|
|
|
203
204
|
newBlock.uniqueId = serializedBlock.uniqueId;
|
|
204
205
|
newBlock.comments = serializedBlock.comments;
|
|
205
206
|
|
|
207
|
+
// Deserializers are also not responsible for deserializing the outputTextureOptions of ShaderBlocks.
|
|
208
|
+
if (serializedBlock.outputTextureOptions && newBlock instanceof ShaderBlock) {
|
|
209
|
+
newBlock.outputTextureOptions = serializedBlock.outputTextureOptions;
|
|
210
|
+
}
|
|
211
|
+
|
|
206
212
|
// We need to ensure any uniqueIds generated in the future (e.g. a new block is added to the SmartFilter)
|
|
207
213
|
// are higher than this one.
|
|
208
214
|
UniqueIdGenerator.EnsureIdsGreaterThan(newBlock.uniqueId);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ShaderBlock } from "../../blockFoundation/shaderBlock.js";
|
|
1
2
|
import type { BaseBlock } from "../../blockFoundation/baseBlock";
|
|
2
3
|
import type { ISerializedBlockV1, SerializeBlockV1 } from "./smartFilterSerialization.types";
|
|
3
4
|
|
|
@@ -15,5 +16,6 @@ export const defaultBlockSerializer: SerializeBlockV1 = (block: BaseBlock): ISer
|
|
|
15
16
|
namespace: block.namespace,
|
|
16
17
|
comments: block.comments,
|
|
17
18
|
data: undefined,
|
|
19
|
+
outputTextureOptions: block instanceof ShaderBlock ? block.outputTextureOptions : undefined,
|
|
18
20
|
};
|
|
19
21
|
};
|
|
@@ -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.
|
|
@@ -4,6 +4,7 @@ import type { SmartFilter } from "../../smartFilter.js";
|
|
|
4
4
|
import type { ThinEngine } from "@babylonjs/core/Engines/thinEngine";
|
|
5
5
|
import type { IEditorData } from "@babylonjs/shared-ui-components/nodeGraphSystem/interfaces/nodeLocationInfo.js";
|
|
6
6
|
import type { SmartFilterDeserializer } from "../smartFilterDeserializer.js";
|
|
7
|
+
import type { OutputTextureOptions } from "../../blockFoundation/textureOptions.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* ----------------------------------------------------------------------------
|
|
@@ -60,6 +61,9 @@ export interface ISerializedBlockV1 {
|
|
|
60
61
|
/** The comments for the block */
|
|
61
62
|
comments: Nullable<string>;
|
|
62
63
|
|
|
64
|
+
/** The OutputTextureOptions for serialized ShaderBlocks */
|
|
65
|
+
outputTextureOptions?: OutputTextureOptions;
|
|
66
|
+
|
|
63
67
|
/** Block specific serialized data */
|
|
64
68
|
data: any;
|
|
65
69
|
}
|
|
@@ -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