@babylonjs/smart-filters 1.0.11 → 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.
@@ -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;AAsEzD;;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;CAiCpD"}
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
- if (input.autoBind === "outputResolution") {
45
- this._bindSteps.push((effect, width, height) => {
46
- effect.setFloat2(this.getRemappedName(input.name), width, height);
47
- });
48
- }
49
- else {
50
- this._bindSteps.push((effect) => {
51
- effect.setVector2(this.getRemappedName(input.name), input.runtimeData.value);
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":"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"}
1
+ {"version":3,"file":"customShaderBlock.js","sourceRoot":"","sources":["../../src/blockFoundation/customShaderBlock.ts"],"names":[],"mappings":"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"}
@@ -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;AAEjD;;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
+ {"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":"AA0IA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAsIzF"}
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}), this._${CAMEL_CASE_UNIFORM}.value);`;
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.map((uniform) => {
148
- return ShaderBindingPrivateVariablesTemplate.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type));
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.map((uniform) => {
152
- return ShaderBindingCtorDocstringParams.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
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.map((uniform) => {
156
- return ShaderBindingCtorParams.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type));
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.map((uniform) => {
160
- return ShaderBindingCtor.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
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
- return ShaderBindingBind.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name).replace(EFFECT_SETTER, getEffectSetter(uniform.type));
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.map((uniform) => {
168
- var _a;
169
- if (((_a = uniform.properties) === null || _a === void 0 ? void 0 : _a.default) !== undefined) {
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.map((uniform) => {
183
- return BlockGetShaderBindingVars.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
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.map((uniform) => {
189
- return uniform.name;
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":"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"}
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.11";
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.11";
4
+ export const SmartFilterCoreVersion = "1.0.12";
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.11",
3
+ "version": "1.0.12",
4
4
  "description": "Babylon.js Smart Filter core",
5
5
  "keywords": [
6
6
  "video",
@@ -51,14 +51,21 @@ class CustomShaderBlockBinding extends ShaderBinding {
51
51
  });
52
52
  break;
53
53
  case ConnectionPointType.Vector2:
54
- if (input.autoBind === "outputResolution") {
55
- this._bindSteps.push((effect, width, height) => {
56
- effect.setFloat2(this.getRemappedName(input.name), width, height);
57
- });
58
- } else {
59
- this._bindSteps.push((effect) => {
60
- effect.setVector2(this.getRemappedName(input.name), input.runtimeData.value);
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
- autoBoundInput.type == ConnectionPointType.Vector2
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;
@@ -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}), this._${CAMEL_CASE_UNIFORM}.value);`;
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.map((uniform) => {
161
- return ShaderBindingPrivateVariablesTemplate.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(
162
- CONNECTION_POINT_TYPE,
163
- getConnectionPointTypeString(uniform.type)
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.map((uniform) => {
169
- return ShaderBindingCtorDocstringParams.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
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.map((uniform) => {
174
- return ShaderBindingCtorParams.replace(CAMEL_CASE_UNIFORM, uniform.name).replace(
175
- CONNECTION_POINT_TYPE,
176
- getConnectionPointTypeString(uniform.type)
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.map((uniform) => {
182
- return ShaderBindingCtor.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
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
- return ShaderBindingBind.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name).replace(
188
- EFFECT_SETTER,
189
- getEffectSetter(uniform.type)
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.map((uniform) => {
195
- if (uniform.properties?.default !== undefined) {
196
- if (extraImports.indexOf(" createStrongRef") === -1) {
197
- extraImports.push(" createStrongRef");
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
- return BlockInputOptionalProperty.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name)
200
- .replace(CONNECTION_POINT_TYPE, getConnectionPointTypeString(uniform.type))
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.map((uniform) => {
212
- return BlockGetShaderBindingVars.replace(new RegExp(CAMEL_CASE_UNIFORM, "g"), uniform.name);
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.map((uniform) => {
220
- return uniform.name;
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
@@ -1,4 +1,4 @@
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.11";
4
+ export const SmartFilterCoreVersion = "1.0.12";