@babylonjs/smart-filters 0.7.10-alpha → 0.7.12-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/blockFoundation/outputBlock.d.ts +5 -0
  2. package/dist/blockFoundation/outputBlock.d.ts.map +1 -1
  3. package/dist/blockFoundation/outputBlock.js +30 -1
  4. package/dist/blockFoundation/outputBlock.js.map +1 -1
  5. package/dist/index.d.ts +0 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/version.d.ts +1 -1
  10. package/dist/version.js +1 -1
  11. package/package.json +5 -10
  12. package/readme.md +2 -0
  13. package/src/blockFoundation/outputBlock.ts +33 -1
  14. package/src/index.ts +0 -2
  15. package/src/version.ts +1 -1
  16. package/dist/blockFoundation/outputBlock.shader.d.ts +0 -13
  17. package/dist/blockFoundation/outputBlock.shader.d.ts.map +0 -1
  18. package/dist/blockFoundation/outputBlock.shader.js +0 -31
  19. package/dist/blockFoundation/outputBlock.shader.js.map +0 -1
  20. package/dist/blockRegistration/IBlockRegistration.d.ts +0 -36
  21. package/dist/blockRegistration/IBlockRegistration.d.ts.map +0 -1
  22. package/dist/blockRegistration/IBlockRegistration.js +0 -2
  23. package/dist/blockRegistration/IBlockRegistration.js.map +0 -1
  24. package/dist/blockRegistration/blockSerializers.d.ts +0 -13
  25. package/dist/blockRegistration/blockSerializers.d.ts.map +0 -1
  26. package/dist/blockRegistration/blockSerializers.js +0 -35
  27. package/dist/blockRegistration/blockSerializers.js.map +0 -1
  28. package/dist/blockRegistration/builtInBlockRegistrations.d.ts +0 -13
  29. package/dist/blockRegistration/builtInBlockRegistrations.d.ts.map +0 -1
  30. package/dist/blockRegistration/builtInBlockRegistrations.js +0 -266
  31. package/dist/blockRegistration/builtInBlockRegistrations.js.map +0 -1
  32. package/dist/blockRegistration/index.d.ts +0 -3
  33. package/dist/blockRegistration/index.d.ts.map +0 -1
  34. package/dist/blockRegistration/index.js +0 -3
  35. package/dist/blockRegistration/index.js.map +0 -1
  36. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.d.ts +0 -56
  37. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.d.ts.map +0 -1
  38. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.js +0 -66
  39. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.js.map +0 -1
  40. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.shader.d.ts +0 -13
  41. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.shader.d.ts.map +0 -1
  42. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.shader.js +0 -36
  43. package/dist/blocks/babylon/demo/effects/blackAndWhiteBlock.shader.js.map +0 -1
  44. package/dist/blocks/babylon/demo/effects/blurBlock.d.ts +0 -56
  45. package/dist/blocks/babylon/demo/effects/blurBlock.d.ts.map +0 -1
  46. package/dist/blocks/babylon/demo/effects/blurBlock.deserializer.d.ts +0 -29
  47. package/dist/blocks/babylon/demo/effects/blurBlock.deserializer.d.ts.map +0 -1
  48. package/dist/blocks/babylon/demo/effects/blurBlock.deserializer.js +0 -16
  49. package/dist/blocks/babylon/demo/effects/blurBlock.deserializer.js.map +0 -1
  50. package/dist/blocks/babylon/demo/effects/blurBlock.js +0 -100
  51. package/dist/blocks/babylon/demo/effects/blurBlock.js.map +0 -1
  52. package/dist/blocks/babylon/demo/effects/blurBlock.serializer.d.ts +0 -8
  53. package/dist/blocks/babylon/demo/effects/blurBlock.serializer.d.ts.map +0 -1
  54. package/dist/blocks/babylon/demo/effects/blurBlock.serializer.js +0 -28
  55. package/dist/blocks/babylon/demo/effects/blurBlock.serializer.js.map +0 -1
  56. package/dist/blocks/babylon/demo/effects/compositionBlock.d.ts +0 -118
  57. package/dist/blocks/babylon/demo/effects/compositionBlock.d.ts.map +0 -1
  58. package/dist/blocks/babylon/demo/effects/compositionBlock.deserializer.d.ts +0 -25
  59. package/dist/blocks/babylon/demo/effects/compositionBlock.deserializer.d.ts.map +0 -1
  60. package/dist/blocks/babylon/demo/effects/compositionBlock.deserializer.js +0 -15
  61. package/dist/blocks/babylon/demo/effects/compositionBlock.deserializer.js.map +0 -1
  62. package/dist/blocks/babylon/demo/effects/compositionBlock.js +0 -219
  63. package/dist/blocks/babylon/demo/effects/compositionBlock.js.map +0 -1
  64. package/dist/blocks/babylon/demo/effects/compositionBlock.serializer.d.ts +0 -6
  65. package/dist/blocks/babylon/demo/effects/compositionBlock.serializer.d.ts.map +0 -1
  66. package/dist/blocks/babylon/demo/effects/compositionBlock.serializer.js +0 -25
  67. package/dist/blocks/babylon/demo/effects/compositionBlock.serializer.js.map +0 -1
  68. package/dist/blocks/babylon/demo/effects/contrastBlock.d.ts +0 -63
  69. package/dist/blocks/babylon/demo/effects/contrastBlock.d.ts.map +0 -1
  70. package/dist/blocks/babylon/demo/effects/contrastBlock.js +0 -122
  71. package/dist/blocks/babylon/demo/effects/contrastBlock.js.map +0 -1
  72. package/dist/blocks/babylon/demo/effects/desaturateBlock.d.ts +0 -63
  73. package/dist/blocks/babylon/demo/effects/desaturateBlock.d.ts.map +0 -1
  74. package/dist/blocks/babylon/demo/effects/desaturateBlock.js +0 -107
  75. package/dist/blocks/babylon/demo/effects/desaturateBlock.js.map +0 -1
  76. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.d.ts +0 -79
  77. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.d.ts.map +0 -1
  78. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.deserializer.d.ts +0 -33
  79. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.deserializer.d.ts.map +0 -1
  80. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.deserializer.js +0 -17
  81. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.deserializer.js.map +0 -1
  82. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.js +0 -171
  83. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.js.map +0 -1
  84. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.serializer.d.ts +0 -6
  85. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.serializer.d.ts.map +0 -1
  86. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.serializer.js +0 -27
  87. package/dist/blocks/babylon/demo/effects/directionalBlurBlock.serializer.js.map +0 -1
  88. package/dist/blocks/babylon/demo/effects/exposureBlock.d.ts +0 -63
  89. package/dist/blocks/babylon/demo/effects/exposureBlock.d.ts.map +0 -1
  90. package/dist/blocks/babylon/demo/effects/exposureBlock.js +0 -95
  91. package/dist/blocks/babylon/demo/effects/exposureBlock.js.map +0 -1
  92. package/dist/blocks/babylon/demo/effects/greenScreenBlock.d.ts +0 -75
  93. package/dist/blocks/babylon/demo/effects/greenScreenBlock.d.ts.map +0 -1
  94. package/dist/blocks/babylon/demo/effects/greenScreenBlock.js +0 -121
  95. package/dist/blocks/babylon/demo/effects/greenScreenBlock.js.map +0 -1
  96. package/dist/blocks/babylon/demo/effects/index.d.ts +0 -15
  97. package/dist/blocks/babylon/demo/effects/index.d.ts.map +0 -1
  98. package/dist/blocks/babylon/demo/effects/index.js +0 -15
  99. package/dist/blocks/babylon/demo/effects/index.js.map +0 -1
  100. package/dist/blocks/babylon/demo/effects/kaleidoscopeBlock.d.ts +0 -63
  101. package/dist/blocks/babylon/demo/effects/kaleidoscopeBlock.d.ts.map +0 -1
  102. package/dist/blocks/babylon/demo/effects/kaleidoscopeBlock.js +0 -159
  103. package/dist/blocks/babylon/demo/effects/kaleidoscopeBlock.js.map +0 -1
  104. package/dist/blocks/babylon/demo/effects/maskBlock.d.ts +0 -62
  105. package/dist/blocks/babylon/demo/effects/maskBlock.d.ts.map +0 -1
  106. package/dist/blocks/babylon/demo/effects/maskBlock.js +0 -75
  107. package/dist/blocks/babylon/demo/effects/maskBlock.js.map +0 -1
  108. package/dist/blocks/babylon/demo/effects/maskBlock.shader.d.ts +0 -14
  109. package/dist/blocks/babylon/demo/effects/maskBlock.shader.d.ts.map +0 -1
  110. package/dist/blocks/babylon/demo/effects/maskBlock.shader.js +0 -37
  111. package/dist/blocks/babylon/demo/effects/maskBlock.shader.js.map +0 -1
  112. package/dist/blocks/babylon/demo/effects/pixelateBlock.d.ts +0 -62
  113. package/dist/blocks/babylon/demo/effects/pixelateBlock.d.ts.map +0 -1
  114. package/dist/blocks/babylon/demo/effects/pixelateBlock.js +0 -77
  115. package/dist/blocks/babylon/demo/effects/pixelateBlock.js.map +0 -1
  116. package/dist/blocks/babylon/demo/effects/pixelateBlock.shader.d.ts +0 -15
  117. package/dist/blocks/babylon/demo/effects/pixelateBlock.shader.d.ts.map +0 -1
  118. package/dist/blocks/babylon/demo/effects/pixelateBlock.shader.js +0 -44
  119. package/dist/blocks/babylon/demo/effects/pixelateBlock.shader.js.map +0 -1
  120. package/dist/blocks/babylon/demo/effects/posterizeBlock.d.ts +0 -63
  121. package/dist/blocks/babylon/demo/effects/posterizeBlock.d.ts.map +0 -1
  122. package/dist/blocks/babylon/demo/effects/posterizeBlock.js +0 -108
  123. package/dist/blocks/babylon/demo/effects/posterizeBlock.js.map +0 -1
  124. package/dist/blocks/babylon/demo/effects/spritesheetBlock.d.ts +0 -81
  125. package/dist/blocks/babylon/demo/effects/spritesheetBlock.d.ts.map +0 -1
  126. package/dist/blocks/babylon/demo/effects/spritesheetBlock.js +0 -103
  127. package/dist/blocks/babylon/demo/effects/spritesheetBlock.js.map +0 -1
  128. package/dist/blocks/babylon/demo/effects/spritesheetBlock.shader.d.ts +0 -18
  129. package/dist/blocks/babylon/demo/effects/spritesheetBlock.shader.d.ts.map +0 -1
  130. package/dist/blocks/babylon/demo/effects/spritesheetBlock.shader.js +0 -57
  131. package/dist/blocks/babylon/demo/effects/spritesheetBlock.shader.js.map +0 -1
  132. package/dist/blocks/babylon/demo/effects/tintBlock.d.ts +0 -7
  133. package/dist/blocks/babylon/demo/effects/tintBlock.d.ts.map +0 -1
  134. package/dist/blocks/babylon/demo/effects/tintBlock.js +0 -51
  135. package/dist/blocks/babylon/demo/effects/tintBlock.js.map +0 -1
  136. package/dist/blocks/babylon/demo/transitions/index.d.ts +0 -2
  137. package/dist/blocks/babylon/demo/transitions/index.d.ts.map +0 -1
  138. package/dist/blocks/babylon/demo/transitions/index.js +0 -2
  139. package/dist/blocks/babylon/demo/transitions/index.js.map +0 -1
  140. package/dist/blocks/babylon/demo/transitions/wipeBlock.d.ts +0 -69
  141. package/dist/blocks/babylon/demo/transitions/wipeBlock.d.ts.map +0 -1
  142. package/dist/blocks/babylon/demo/transitions/wipeBlock.js +0 -110
  143. package/dist/blocks/babylon/demo/transitions/wipeBlock.js.map +0 -1
  144. package/dist/blocks/babylon/demo/utilities/index.d.ts +0 -2
  145. package/dist/blocks/babylon/demo/utilities/index.d.ts.map +0 -1
  146. package/dist/blocks/babylon/demo/utilities/index.js +0 -2
  147. package/dist/blocks/babylon/demo/utilities/index.js.map +0 -1
  148. package/dist/blocks/babylon/demo/utilities/premultiplyAlphaBlock.d.ts +0 -58
  149. package/dist/blocks/babylon/demo/utilities/premultiplyAlphaBlock.d.ts.map +0 -1
  150. package/dist/blocks/babylon/demo/utilities/premultiplyAlphaBlock.js +0 -87
  151. package/dist/blocks/babylon/demo/utilities/premultiplyAlphaBlock.js.map +0 -1
  152. package/dist/blocks/blockNamespaces.d.ts +0 -5
  153. package/dist/blocks/blockNamespaces.d.ts.map +0 -1
  154. package/dist/blocks/blockNamespaces.js +0 -5
  155. package/dist/blocks/blockNamespaces.js.map +0 -1
  156. package/dist/blocks/blockTypes.d.ts +0 -22
  157. package/dist/blocks/blockTypes.d.ts.map +0 -1
  158. package/dist/blocks/blockTypes.js +0 -22
  159. package/dist/blocks/blockTypes.js.map +0 -1
  160. package/dist/blocks/index.d.ts +0 -6
  161. package/dist/blocks/index.d.ts.map +0 -1
  162. package/dist/blocks/index.js +0 -6
  163. package/dist/blocks/index.js.map +0 -1
  164. package/src/blockFoundation/outputBlock.fragment.glsl +0 -5
  165. package/src/blockFoundation/outputBlock.shader.ts +0 -33
  166. package/src/blockRegistration/IBlockRegistration.ts +0 -45
  167. package/src/blockRegistration/blockSerializers.ts +0 -52
  168. package/src/blockRegistration/builtInBlockRegistrations.ts +0 -390
  169. package/src/blockRegistration/index.ts +0 -2
  170. package/src/blocks/babylon/demo/effects/blackAndWhiteBlock.fragment.glsl +0 -10
  171. package/src/blocks/babylon/demo/effects/blackAndWhiteBlock.shader.ts +0 -38
  172. package/src/blocks/babylon/demo/effects/blackAndWhiteBlock.ts +0 -80
  173. package/src/blocks/babylon/demo/effects/blurBlock.deserializer.ts +0 -38
  174. package/src/blocks/babylon/demo/effects/blurBlock.serializer.ts +0 -32
  175. package/src/blocks/babylon/demo/effects/blurBlock.ts +0 -119
  176. package/src/blocks/babylon/demo/effects/compositionBlock.deserializer.ts +0 -32
  177. package/src/blocks/babylon/demo/effects/compositionBlock.serializer.ts +0 -29
  178. package/src/blocks/babylon/demo/effects/compositionBlock.ts +0 -293
  179. package/src/blocks/babylon/demo/effects/contrastBlock.ts +0 -152
  180. package/src/blocks/babylon/demo/effects/desaturateBlock.ts +0 -137
  181. package/src/blocks/babylon/demo/effects/directionalBlurBlock.deserializer.ts +0 -47
  182. package/src/blocks/babylon/demo/effects/directionalBlurBlock.serializer.ts +0 -31
  183. package/src/blocks/babylon/demo/effects/directionalBlurBlock.ts +0 -193
  184. package/src/blocks/babylon/demo/effects/exposureBlock.ts +0 -120
  185. package/src/blocks/babylon/demo/effects/greenScreenBlock.ts +0 -152
  186. package/src/blocks/babylon/demo/effects/index.ts +0 -14
  187. package/src/blocks/babylon/demo/effects/kaleidoscopeBlock.ts +0 -186
  188. package/src/blocks/babylon/demo/effects/maskBlock.fragment.glsl +0 -10
  189. package/src/blocks/babylon/demo/effects/maskBlock.shader.ts +0 -39
  190. package/src/blocks/babylon/demo/effects/maskBlock.ts +0 -94
  191. package/src/blocks/babylon/demo/effects/pixelateBlock.fragment.glsl +0 -18
  192. package/src/blocks/babylon/demo/effects/pixelateBlock.shader.ts +0 -46
  193. package/src/blocks/babylon/demo/effects/pixelateBlock.ts +0 -101
  194. package/src/blocks/babylon/demo/effects/posterizeBlock.ts +0 -139
  195. package/src/blocks/babylon/demo/effects/spritesheetBlock.fragment.glsl +0 -26
  196. package/src/blocks/babylon/demo/effects/spritesheetBlock.shader.ts +0 -59
  197. package/src/blocks/babylon/demo/effects/spritesheetBlock.ts +0 -135
  198. package/src/blocks/babylon/demo/effects/tintBlock.ts +0 -52
  199. package/src/blocks/babylon/demo/transitions/index.ts +0 -1
  200. package/src/blocks/babylon/demo/transitions/wipeBlock.ts +0 -138
  201. package/src/blocks/babylon/demo/utilities/index.ts +0 -1
  202. package/src/blocks/babylon/demo/utilities/premultiplyAlphaBlock.ts +0 -106
  203. package/src/blocks/blockNamespaces.ts +0 -4
  204. package/src/blocks/blockTypes.ts +0 -21
  205. package/src/blocks/index.ts +0 -5
@@ -1 +0,0 @@
1
- {"version":3,"file":"pixelateBlock.shader.js","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/pixelateBlock.shader.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkB;IACxC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE;QACN,OAAO,EAAE;;;qCAGoB;QAC7B,KAAK,EAAE;;;yCAG0B;QACjC,gBAAgB,EAAE,SAAS;QAC3B,gBAAgB,EAAE,YAAY;QAC9B,SAAS,EAAE;YACP;gBACI,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE;;;;;;;;;;qBAUD;aACR;SACJ;KACJ;CACJ,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACvB,CAAC"}
@@ -1,63 +0,0 @@
1
- import type { Effect } from "@babylonjs/core/Materials/effect";
2
- import { type IDisableableBlock, DisableableShaderBlock } from "../../../../blockFoundation/disableableShaderBlock.js";
3
- import type { RuntimeData } from "../../../../connection/connectionPoint.js";
4
- import { ConnectionPointType } from "../../../../connection/connectionPointType.js";
5
- import { DisableableShaderBinding } from "../../../../runtime/shaderRuntime.js";
6
- import type { SmartFilter } from "../../../../smartFilter.js";
7
- import type { ShaderProgram } from "../../../../utils/shaderCodeUtils.js";
8
- /**
9
- * The shader bindings for the Posterize block.
10
- */
11
- export declare class PosterizeShaderBinding extends DisableableShaderBinding {
12
- private readonly _inputTexture;
13
- private readonly _intensity;
14
- /**
15
- * Creates a new shader binding instance for the Posterize block.
16
- * @param parentBlock - The parent block
17
- * @param inputTexture - The input texture
18
- * @param intensity - The intensity of the effect
19
- */
20
- constructor(parentBlock: IDisableableBlock, inputTexture: RuntimeData<ConnectionPointType.Texture>, intensity: RuntimeData<ConnectionPointType.Float>);
21
- /**
22
- * Binds all the required data to the shader when rendering.
23
- * @param effect - defines the effect to bind the data to
24
- */
25
- bind(effect: Effect): void;
26
- }
27
- /**
28
- * A simple block posterizing the input texture.
29
- */
30
- export declare class PosterizeBlock extends DisableableShaderBlock {
31
- /**
32
- * The class name of the block.
33
- */
34
- static ClassName: string;
35
- /**
36
- * The namespace of the block.
37
- */
38
- static Namespace: string;
39
- /**
40
- * The input texture connection point.
41
- */
42
- readonly input: import("../../../../connection/connectionPoint.js").ConnectionPoint<ConnectionPointType.Texture>;
43
- /**
44
- * The intensity connection point.
45
- */
46
- readonly intensity: import("../../../../connection/connectionPointWithDefault.js").ConnectionPointWithDefault<ConnectionPointType.Float>;
47
- /**
48
- * The shader program (vertex and fragment code) to use to render the block
49
- */
50
- static ShaderCode: ShaderProgram;
51
- /**
52
- * Instantiates a new Block.
53
- * @param smartFilter - The smart filter this block belongs to
54
- * @param name - The friendly name of the block
55
- */
56
- constructor(smartFilter: SmartFilter, name: string);
57
- /**
58
- * Get the class instance that binds all the required data to the shader (effect) when rendering.
59
- * @returns The class instance that binds the data to the effect
60
- */
61
- getShaderBinding(): DisableableShaderBinding;
62
- }
63
- //# sourceMappingURL=posterizeBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"posterizeBlock.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/posterizeBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AACvH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AA4C1E;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE;;;;;OAKG;gBAEC,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,EACtD,SAAS,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAOrD;;;OAGG;IACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAK7C;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,sBAAsB;IACtD;;OAEG;IACH,OAAuB,SAAS,SAAsB;IAEtD;;OAEG;IACH,OAAuB,SAAS,SAA+B;IAE/D;;OAEG;IACH,SAAgB,KAAK,mGAA6D;IAElF;;OAEG;IACH,SAAgB,SAAS,uHAIvB;IAEF;;OAEG;IACH,OAAuB,UAAU,gBAAiB;IAElD;;;;OAIG;gBACS,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAIlD;;;OAGG;IACI,gBAAgB,IAAI,wBAAwB;CAMtD"}
@@ -1,108 +0,0 @@
1
- import { DisableableShaderBlock } from "../../../../blockFoundation/disableableShaderBlock.js";
2
- import { ConnectionPointType } from "../../../../connection/connectionPointType.js";
3
- import { DisableableShaderBinding } from "../../../../runtime/shaderRuntime.js";
4
- import { createStrongRef } from "../../../../runtime/strongRef.js";
5
- import { posterizeBlockType } from "../../../blockTypes.js";
6
- import { babylonDemoEffectsNamespace } from "../../../blockNamespaces.js";
7
- const shaderProgram = {
8
- fragment: {
9
- uniform: `
10
- uniform sampler2D _input_;
11
- uniform float _intensity_;
12
- `,
13
- const: `
14
- const float _posterizePower_ = 6.0;
15
- const float _minLevel_ = 2.0;
16
- const float _maxLevel_ = 256.0;
17
-
18
- const float _aspect_ = 1.72;
19
- `,
20
- mainFunctionName: "_posterize_",
21
- mainInputTexture: "_input_",
22
- functions: [
23
- {
24
- name: "_posterize_",
25
- code: `
26
- vec4 _posterize_(vec2 vUV)
27
- {
28
- vec4 color = texture2D(_input_, vUV);
29
-
30
- float posterizeStrength = mix(_minLevel_, _maxLevel_, pow(1. - _intensity_, _posterizePower_));
31
- vec3 posterize = vec3(posterizeStrength);
32
- color.rgb = floor(color.rgb / (1.0 / posterize)) * (1.0 / posterize);
33
-
34
- return color;
35
- }
36
- `,
37
- },
38
- ],
39
- },
40
- };
41
- /**
42
- * The shader bindings for the Posterize block.
43
- */
44
- export class PosterizeShaderBinding extends DisableableShaderBinding {
45
- /**
46
- * Creates a new shader binding instance for the Posterize block.
47
- * @param parentBlock - The parent block
48
- * @param inputTexture - The input texture
49
- * @param intensity - The intensity of the effect
50
- */
51
- constructor(parentBlock, inputTexture, intensity) {
52
- super(parentBlock);
53
- this._inputTexture = inputTexture;
54
- this._intensity = intensity;
55
- }
56
- /**
57
- * Binds all the required data to the shader when rendering.
58
- * @param effect - defines the effect to bind the data to
59
- */
60
- bind(effect) {
61
- super.bind(effect);
62
- effect.setTexture(this.getRemappedName("input"), this._inputTexture.value);
63
- effect.setFloat(this.getRemappedName("intensity"), this._intensity.value);
64
- }
65
- }
66
- /**
67
- * A simple block posterizing the input texture.
68
- */
69
- export class PosterizeBlock extends DisableableShaderBlock {
70
- /**
71
- * Instantiates a new Block.
72
- * @param smartFilter - The smart filter this block belongs to
73
- * @param name - The friendly name of the block
74
- */
75
- constructor(smartFilter, name) {
76
- super(smartFilter, name);
77
- /**
78
- * The input texture connection point.
79
- */
80
- this.input = this._registerInput("input", ConnectionPointType.Texture);
81
- /**
82
- * The intensity connection point.
83
- */
84
- this.intensity = this._registerOptionalInput("intensity", ConnectionPointType.Float, createStrongRef(0.3));
85
- }
86
- /**
87
- * Get the class instance that binds all the required data to the shader (effect) when rendering.
88
- * @returns The class instance that binds the data to the effect
89
- */
90
- getShaderBinding() {
91
- const input = this._confirmRuntimeDataSupplied(this.input);
92
- const intensity = this.intensity.runtimeData;
93
- return new PosterizeShaderBinding(this, input, intensity);
94
- }
95
- }
96
- /**
97
- * The class name of the block.
98
- */
99
- PosterizeBlock.ClassName = posterizeBlockType;
100
- /**
101
- * The namespace of the block.
102
- */
103
- PosterizeBlock.Namespace = babylonDemoEffectsNamespace;
104
- /**
105
- * The shader program (vertex and fragment code) to use to render the block
106
- */
107
- PosterizeBlock.ShaderCode = shaderProgram;
108
- //# sourceMappingURL=posterizeBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"posterizeBlock.js","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/posterizeBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAEvH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAInE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,aAAa,GAAkB;IACjC,QAAQ,EAAE;QACN,OAAO,EAAE;;;aAGJ;QAEL,KAAK,EAAE;;;;;;aAMF;QAEL,gBAAgB,EAAE,aAAa;QAE/B,gBAAgB,EAAE,SAAS;QAE3B,SAAS,EAAE;YACP;gBACI,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE;;;;;;;;;;;aAWT;aACA;SACJ;KACJ;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,wBAAwB;IAIhE;;;;;OAKG;IACH,YACI,WAA8B,EAC9B,YAAsD,EACtD,SAAiD;QAEjD,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;OAGG;IACa,IAAI,CAAC,MAAc;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,sBAAsB;IA8BtD;;;;OAIG;IACH,YAAY,WAAwB,EAAE,IAAY;QAC9C,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAzB7B;;WAEG;QACa,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAElF;;WAEG;QACa,cAAS,GAAG,IAAI,CAAC,sBAAsB,CACnD,WAAW,EACX,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,GAAG,CAAC,CACvB,CAAC;IAcF,CAAC;IAED;;;OAGG;IACI,gBAAgB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAE7C,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;;AA/CD;;GAEG;AACoB,wBAAS,GAAG,kBAAkB,AAArB,CAAsB;AAEtD;;GAEG;AACoB,wBAAS,GAAG,2BAA2B,AAA9B,CAA+B;AAgB/D;;GAEG;AACoB,yBAAU,GAAG,aAAa,AAAhB,CAAiB"}
@@ -1,81 +0,0 @@
1
- import type { Effect } from "@babylonjs/core/Materials/effect";
2
- import { type RuntimeData } from "../../../../connection/connectionPoint.js";
3
- import { ConnectionPointType } from "../../../../connection/connectionPointType.js";
4
- import { type IDisableableBlock, DisableableShaderBlock } from "../../../../blockFoundation/disableableShaderBlock.js";
5
- import { DisableableShaderBinding } from "../../../../runtime/shaderRuntime.js";
6
- import type { SmartFilter } from "../../../../smartFilter.js";
7
- /**
8
- * The shader bindings for the Spritesheet block.
9
- */
10
- export declare class SpritesheetShaderBinding extends DisableableShaderBinding {
11
- private readonly _inputTexture;
12
- private readonly _time;
13
- private readonly _rows;
14
- private readonly _cols;
15
- private readonly _frames;
16
- /**
17
- * Creates a new shader binding instance for the SpriteSheet block.
18
- * @param parentBlock - The parent block
19
- * @param inputTexture - The input texture
20
- * @param time - The time passed since the start of the effect
21
- * @param rows - The number of rows in the sprite sheet
22
- * @param cols - The number of columns in the sprite sheet
23
- * @param frames - The number of frames to show
24
- */
25
- constructor(parentBlock: IDisableableBlock, inputTexture: RuntimeData<ConnectionPointType.Texture>, time: RuntimeData<ConnectionPointType.Float>, rows: RuntimeData<ConnectionPointType.Float>, cols: RuntimeData<ConnectionPointType.Float>, frames: RuntimeData<ConnectionPointType.Float>);
26
- /**
27
- * Binds all the required data to the shader when rendering.
28
- * @param effect - defines the effect to bind the data to
29
- */
30
- bind(effect: Effect): void;
31
- }
32
- /**
33
- * A block that animates a sprite sheet texture.
34
- */
35
- export declare class SpritesheetBlock extends DisableableShaderBlock {
36
- /**
37
- * The class name of the block.
38
- */
39
- static ClassName: string;
40
- /**
41
- * The namespace of the block.
42
- */
43
- static Namespace: string;
44
- /**
45
- * The input texture connection point
46
- */
47
- readonly input: import("../../../../connection/connectionPoint.js").ConnectionPoint<ConnectionPointType.Texture>;
48
- /**
49
- * The time connection point to animate the effect.
50
- */
51
- readonly time: import("../../../../connection/connectionPointWithDefault.js").ConnectionPointWithDefault<ConnectionPointType.Float>;
52
- /**
53
- * The number of rows in the sprite sheet, as a connection point.
54
- */
55
- readonly rows: import("../../../../connection/connectionPointWithDefault.js").ConnectionPointWithDefault<ConnectionPointType.Float>;
56
- /**
57
- * The number of columns in the sprite sheet, as a connection point.
58
- */
59
- readonly columns: import("../../../../connection/connectionPointWithDefault.js").ConnectionPointWithDefault<ConnectionPointType.Float>;
60
- /**
61
- * The number of frames to animate from the beginning, as a connection point.
62
- * Defaults to rows * columns at runtime.
63
- */
64
- readonly frames: import("../../../../connection/connectionPointWithDefault.js").ConnectionPointWithDefault<ConnectionPointType.Float>;
65
- /**
66
- * The shader program (vertex and fragment code) to use to render the block
67
- */
68
- static ShaderCode: import("../../../../index.js").ShaderProgram;
69
- /**
70
- * Instantiates a new Block.
71
- * @param smartFilter - The smart filter this block belongs to
72
- * @param name - The friendly name of the block
73
- */
74
- constructor(smartFilter: SmartFilter, name: string);
75
- /**
76
- * Get the class instance that binds all the required data to the shader (effect) when rendering.
77
- * @returns The class instance that binds the data to the effect
78
- */
79
- getShaderBinding(): DisableableShaderBinding;
80
- }
81
- //# sourceMappingURL=spritesheetBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spritesheetBlock.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/spritesheetBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAK/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAEvH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IAEjE;;;;;;;;OAQG;gBAEC,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,EACtD,IAAI,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAC5C,IAAI,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAC5C,IAAI,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAC5C,MAAM,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAUlD;;;OAGG;IACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAa7C;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,sBAAsB;IACxD;;OAEG;IACH,OAAuB,SAAS,SAAwB;IAExD;;OAEG;IACH,OAAuB,SAAS,SAA+B;IAE/D;;OAEG;IACH,SAAgB,KAAK,mGAA6D;IAElF;;OAEG;IACH,SAAgB,IAAI,uHAAwF;IAE5G;;OAEG;IACH,SAAgB,IAAI,uHAAwF;IAE5G;;OAEG;IACH,SAAgB,OAAO,uHAA2F;IAElH;;;OAGG;IACH,SAAgB,MAAM,uHAA0F;IAEhH;;OAEG;IACH,OAAuB,UAAU,+CAAiB;IAElD;;;;OAIG;gBACS,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAIlD;;;OAGG;IACI,gBAAgB,IAAI,wBAAwB;CAStD"}
@@ -1,103 +0,0 @@
1
- import { spritesheetBlockType } from "../../../blockTypes.js";
2
- import { babylonDemoEffectsNamespace } from "../../../blockNamespaces.js";
3
- import { shaderProgram, uniforms } from "./spritesheetBlock.shader.js";
4
- import {} from "../../../../connection/connectionPoint.js";
5
- import { ConnectionPointType } from "../../../../connection/connectionPointType.js";
6
- import { DisableableShaderBlock } from "../../../../blockFoundation/disableableShaderBlock.js";
7
- import { DisableStrategy } from "../../../../blockFoundation/index.js";
8
- import { DisableableShaderBinding } from "../../../../runtime/shaderRuntime.js";
9
- import { createStrongRef } from "../../../../runtime/strongRef.js";
10
- /**
11
- * The shader bindings for the Spritesheet block.
12
- */
13
- export class SpritesheetShaderBinding extends DisableableShaderBinding {
14
- /**
15
- * Creates a new shader binding instance for the SpriteSheet block.
16
- * @param parentBlock - The parent block
17
- * @param inputTexture - The input texture
18
- * @param time - The time passed since the start of the effect
19
- * @param rows - The number of rows in the sprite sheet
20
- * @param cols - The number of columns in the sprite sheet
21
- * @param frames - The number of frames to show
22
- */
23
- constructor(parentBlock, inputTexture, time, rows, cols, frames) {
24
- super(parentBlock);
25
- this._inputTexture = inputTexture;
26
- this._time = time;
27
- this._rows = rows;
28
- this._cols = cols;
29
- this._frames = frames;
30
- }
31
- /**
32
- * Binds all the required data to the shader when rendering.
33
- * @param effect - defines the effect to bind the data to
34
- */
35
- bind(effect) {
36
- super.bind(effect);
37
- effect.setTexture(this.getRemappedName(uniforms.input), this._inputTexture.value);
38
- effect.setFloat(this.getRemappedName(uniforms.time), this._time.value);
39
- effect.setFloat(this.getRemappedName(uniforms.rows), this._rows.value);
40
- effect.setFloat(this.getRemappedName(uniforms.cols), this._cols.value);
41
- // Apply default value for frame count if it was not provided
42
- effect.setFloat(this.getRemappedName(uniforms.frames), this._frames.value > 0 ? this._frames.value : this._rows.value * this._cols.value);
43
- }
44
- }
45
- /**
46
- * A block that animates a sprite sheet texture.
47
- */
48
- export class SpritesheetBlock extends DisableableShaderBlock {
49
- /**
50
- * Instantiates a new Block.
51
- * @param smartFilter - The smart filter this block belongs to
52
- * @param name - The friendly name of the block
53
- */
54
- constructor(smartFilter, name) {
55
- super(smartFilter, name, false, DisableStrategy.Manual);
56
- /**
57
- * The input texture connection point
58
- */
59
- this.input = this._registerInput("input", ConnectionPointType.Texture);
60
- /**
61
- * The time connection point to animate the effect.
62
- */
63
- this.time = this._registerOptionalInput("time", ConnectionPointType.Float, createStrongRef(0.0));
64
- /**
65
- * The number of rows in the sprite sheet, as a connection point.
66
- */
67
- this.rows = this._registerOptionalInput("rows", ConnectionPointType.Float, createStrongRef(1.0));
68
- /**
69
- * The number of columns in the sprite sheet, as a connection point.
70
- */
71
- this.columns = this._registerOptionalInput("columns", ConnectionPointType.Float, createStrongRef(1.0));
72
- /**
73
- * The number of frames to animate from the beginning, as a connection point.
74
- * Defaults to rows * columns at runtime.
75
- */
76
- this.frames = this._registerOptionalInput("frames", ConnectionPointType.Float, createStrongRef(0.0));
77
- }
78
- /**
79
- * Get the class instance that binds all the required data to the shader (effect) when rendering.
80
- * @returns The class instance that binds the data to the effect
81
- */
82
- getShaderBinding() {
83
- const input = this._confirmRuntimeDataSupplied(this.input);
84
- const rows = this.rows.runtimeData;
85
- const columns = this.columns.runtimeData;
86
- const time = this.time.runtimeData;
87
- const frames = this.frames.runtimeData;
88
- return new SpritesheetShaderBinding(this, input, time, rows, columns, frames);
89
- }
90
- }
91
- /**
92
- * The class name of the block.
93
- */
94
- SpritesheetBlock.ClassName = spritesheetBlockType;
95
- /**
96
- * The namespace of the block.
97
- */
98
- SpritesheetBlock.Namespace = babylonDemoEffectsNamespace;
99
- /**
100
- * The shader program (vertex and fragment code) to use to render the block
101
- */
102
- SpritesheetBlock.ShaderCode = shaderProgram;
103
- //# sourceMappingURL=spritesheetBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spritesheetBlock.js","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/spritesheetBlock.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { ShaderProgram } from "../../../../utils/shaderCodeUtils";
2
- /**
3
- * The shader program for the block.
4
- */
5
- export declare const shaderProgram: ShaderProgram;
6
- /**
7
- * The uniform names for this shader, to be used in the shader binding so
8
- * that the names are always in sync.
9
- */
10
- export declare const uniforms: {
11
- input: string;
12
- time: string;
13
- rows: string;
14
- cols: string;
15
- frames: string;
16
- disabled: string;
17
- };
18
- //# sourceMappingURL=spritesheetBlock.shader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spritesheetBlock.shader.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/spritesheetBlock.shader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAwC3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;CAOpB,CAAC"}
@@ -1,57 +0,0 @@
1
- /**
2
- * The shader program for the block.
3
- */
4
- export const shaderProgram = {
5
- vertex: undefined,
6
- fragment: {
7
- uniform: `
8
- uniform sampler2D _input_; // main
9
- uniform float _time_;
10
- uniform float _rows_;
11
- uniform float _cols_;
12
- uniform float _frames_;
13
- uniform bool _disabled_;`,
14
- mainInputTexture: "_input_",
15
- mainFunctionName: "_mainImage_",
16
- functions: [
17
- {
18
- name: "_mainImage_",
19
- code: `
20
- vec4 _mainImage_(vec2 vUV) {
21
- if (!_disabled_) {
22
- float invRows = 1.0 / _rows_;
23
- float invCols = 1.0 / _cols_;
24
-
25
- // Get offset of frame
26
- float frame = mod(floor(_time_), _frames_);
27
- float row = (_rows_ - 1.0) - floor(frame * invCols); // Reverse row direction b/c UVs start from bottom
28
- float col = mod(frame, _cols_);
29
-
30
- // Add offset, then scale UV down to frame size
31
- vUV = vec2(
32
- (vUV.x + col) * invCols,
33
- (vUV.y + row) * invRows
34
- );
35
- }
36
-
37
- return texture2D(_input_, vUV);
38
- }
39
-
40
- `,
41
- },
42
- ],
43
- },
44
- };
45
- /**
46
- * The uniform names for this shader, to be used in the shader binding so
47
- * that the names are always in sync.
48
- */
49
- export const uniforms = {
50
- input: "input",
51
- time: "time",
52
- rows: "rows",
53
- cols: "cols",
54
- frames: "frames",
55
- disabled: "disabled",
56
- };
57
- //# sourceMappingURL=spritesheetBlock.shader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spritesheetBlock.shader.js","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/spritesheetBlock.shader.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkB;IACxC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE;QACN,OAAO,EAAE;;;;;;qCAMoB;QAC7B,gBAAgB,EAAE,SAAS;QAC3B,gBAAgB,EAAE,aAAa;QAC/B,SAAS,EAAE;YACP;gBACI,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;qBAqBD;aACR;SACJ;KACJ;CACJ,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACvB,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { SerializedShaderBlockDefinition } from "../../../../serialization";
2
- /**
3
- * This is included to show how a serialized block definition can be loaded and used.
4
- * This object could have been deserialized from a JSON file, for example.
5
- */
6
- export declare const deserializedTintBlockDefinition: SerializedShaderBlockDefinition;
7
- //# sourceMappingURL=tintBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tintBlock.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/tintBlock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,+BA4C7C,CAAC"}
@@ -1,51 +0,0 @@
1
- import { ConnectionPointType } from "../../../../connection/connectionPointType.js";
2
- /**
3
- * This is included to show how a serialized block definition can be loaded and used.
4
- * This object could have been deserialized from a JSON file, for example.
5
- */
6
- export const deserializedTintBlockDefinition = {
7
- format: "shaderBlockDefinition",
8
- formatVersion: 1,
9
- blockType: "TintBlock",
10
- namespace: "Babylon.Demo.Effects",
11
- shaderProgram: {
12
- fragment: {
13
- uniform: `
14
- uniform sampler2D _input_; // main
15
- uniform vec3 _tint_;
16
- uniform float _amount_;
17
- `,
18
- mainInputTexture: "_input_",
19
- mainFunctionName: "_mainImage_",
20
- functions: [
21
- {
22
- name: "_mainImage_",
23
- code: `
24
- vec4 _mainImage_(vec2 vUV) {
25
- vec4 color = texture2D(_input_, vUV);
26
- vec3 tinted = mix(color.rgb, _tint_, _amount_);
27
- return vec4(tinted, color.a);
28
- }`,
29
- },
30
- ],
31
- },
32
- },
33
- inputConnectionPoints: [
34
- {
35
- name: "input",
36
- type: ConnectionPointType.Texture,
37
- },
38
- {
39
- name: "tint",
40
- type: ConnectionPointType.Color3,
41
- defaultValue: { r: 1, g: 0, b: 0 },
42
- },
43
- {
44
- name: "amount",
45
- type: ConnectionPointType.Float,
46
- defaultValue: 0.25,
47
- },
48
- ],
49
- disableOptimization: false,
50
- };
51
- //# sourceMappingURL=tintBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tintBlock.js","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/effects/tintBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAGpF;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAoC;IAC5E,MAAM,EAAE,uBAAuB;IAC/B,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,sBAAsB;IACjC,aAAa,EAAE;QACX,QAAQ,EAAE;YACN,OAAO,EAAE;;;;iBAIJ;YACL,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,aAAa;YAC/B,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE;;;;;0BAKA;iBACT;aACJ;SACJ;KACJ;IACD,qBAAqB,EAAE;QACnB;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,mBAAmB,CAAC,OAAO;SACpC;QACD;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,mBAAmB,CAAC,MAAM;YAChC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACrC;QACD;YACI,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,mBAAmB,CAAC,KAAK;YAC/B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,mBAAmB,EAAE,KAAK;CAC7B,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./wipeBlock.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/transitions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./wipeBlock.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/transitions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1,69 +0,0 @@
1
- import type { Effect } from "@babylonjs/core/Materials/effect";
2
- import { type RuntimeData } from "../../../../connection/connectionPoint.js";
3
- import { ConnectionPointType } from "../../../../connection/connectionPointType.js";
4
- import { type IDisableableBlock, DisableableShaderBlock } from "../../../../blockFoundation/disableableShaderBlock.js";
5
- import { DisableableShaderBinding } from "../../../../runtime/shaderRuntime.js";
6
- import type { ShaderProgram } from "../../../../utils/shaderCodeUtils.js";
7
- import type { SmartFilter } from "../../../../smartFilter.js";
8
- /**
9
- * The shader bindings for the Wipe block.
10
- */
11
- export declare class WipeShaderBinding extends DisableableShaderBinding {
12
- private readonly _textureA;
13
- private readonly _textureB;
14
- private readonly _mix;
15
- /**
16
- * Creates a new shader binding instance for the Wipe block.
17
- * @param parentBlock - The parent block
18
- * @param textureA - The first texture
19
- * @param textureB - The second texture
20
- * @param mix - The mix value between the two textures
21
- */
22
- constructor(parentBlock: IDisableableBlock, textureA: RuntimeData<ConnectionPointType.Texture>, textureB: RuntimeData<ConnectionPointType.Texture>, mix: RuntimeData<ConnectionPointType.Float>);
23
- /**
24
- * Binds all the required data to the shader when rendering.
25
- * @param effect - defines the effect to bind the data to
26
- */
27
- bind(effect: Effect): void;
28
- }
29
- /**
30
- * A block simulating a wipe effect to transition between two textures according to the mix value.
31
- */
32
- export declare class WipeBlock extends DisableableShaderBlock {
33
- /**
34
- * The class name of the block.
35
- */
36
- static ClassName: string;
37
- /**
38
- * The namespace of the block.
39
- */
40
- static Namespace: string;
41
- /**
42
- * The first texture connection point.
43
- */
44
- readonly textureA: import("../../../../connection/connectionPoint.js").ConnectionPoint<ConnectionPointType.Texture>;
45
- /**
46
- * The second texture connection point.
47
- */
48
- readonly textureB: import("../../../../connection/connectionPoint.js").ConnectionPoint<ConnectionPointType.Texture>;
49
- /**
50
- * The connection point containing the transition value between 0 (textureA) and 1 (textureB).
51
- */
52
- readonly mix: import("../../../../connection/connectionPoint.js").ConnectionPoint<ConnectionPointType.Float>;
53
- /**
54
- * The shader program (vertex and fragment code) to use to render the block
55
- */
56
- static ShaderCode: ShaderProgram;
57
- /**
58
- * Instantiates a new Block.
59
- * @param smartFilter - The smart filter this block belongs to
60
- * @param name - The friendly name of the block
61
- */
62
- constructor(smartFilter: SmartFilter, name: string);
63
- /**
64
- * Get the class instance that binds all the required data to the shader (effect) when rendering.
65
- * @returns The class instance that binds the data to the effect
66
- */
67
- getShaderBinding(): DisableableShaderBinding;
68
- }
69
- //# sourceMappingURL=wipeBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wipeBlock.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/babylon/demo/transitions/wipeBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AACvH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAqC9D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAE9D;;;;;;OAMG;gBAEC,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAClD,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAClD,GAAG,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAQ/C;;;OAGG;IACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAM7C;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,sBAAsB;IACjD;;OAEG;IACH,OAAuB,SAAS,SAAiB;IAEjD;;OAEG;IACH,OAAuB,SAAS,SAAmC;IAEnE;;OAEG;IACH,SAAgB,QAAQ,mGAAgE;IAExF;;OAEG;IACH,SAAgB,QAAQ,mGAAgE;IAExF;;OAEG;IACH,SAAgB,GAAG,iGAAyD;IAE5E;;OAEG;IACH,OAAuB,UAAU,gBAAiB;IAElD;;;;OAIG;gBACS,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAIlD;;;OAGG;IACI,gBAAgB,IAAI,wBAAwB;CAOtD"}