@react-three/postprocessing 2.15.1 → 2.15.2

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 (157) hide show
  1. package/dist/EffectComposer.cjs +126 -0
  2. package/dist/EffectComposer.cjs.map +1 -0
  3. package/dist/EffectComposer.js +126 -0
  4. package/dist/EffectComposer.js.map +1 -0
  5. package/dist/Selection.cjs +36 -0
  6. package/dist/Selection.cjs.map +1 -0
  7. package/dist/Selection.js +36 -0
  8. package/dist/Selection.js.map +1 -0
  9. package/dist/effects/ASCII.cjs +105 -0
  10. package/dist/effects/ASCII.cjs.map +1 -0
  11. package/dist/effects/ASCII.js +105 -0
  12. package/dist/effects/ASCII.js.map +1 -0
  13. package/dist/effects/Autofocus.cjs +126 -0
  14. package/dist/effects/Autofocus.cjs.map +1 -0
  15. package/dist/effects/Autofocus.js +109 -0
  16. package/dist/effects/Autofocus.js.map +1 -0
  17. package/dist/effects/Bloom.cjs +9 -0
  18. package/dist/effects/Bloom.cjs.map +1 -0
  19. package/dist/effects/Bloom.js +9 -0
  20. package/dist/effects/Bloom.js.map +1 -0
  21. package/dist/effects/BrightnessContrast.cjs +7 -0
  22. package/dist/effects/BrightnessContrast.cjs.map +1 -0
  23. package/dist/effects/BrightnessContrast.js +7 -0
  24. package/dist/effects/BrightnessContrast.js.map +1 -0
  25. package/dist/effects/ChromaticAberration.cjs +7 -0
  26. package/dist/effects/ChromaticAberration.cjs.map +1 -0
  27. package/dist/effects/ChromaticAberration.js +7 -0
  28. package/dist/effects/ChromaticAberration.js.map +1 -0
  29. package/dist/effects/ColorAverage.cjs +11 -0
  30. package/dist/effects/ColorAverage.cjs.map +1 -0
  31. package/dist/effects/ColorAverage.js +11 -0
  32. package/dist/effects/ColorAverage.js.map +1 -0
  33. package/dist/effects/ColorDepth.cjs +7 -0
  34. package/dist/effects/ColorDepth.cjs.map +1 -0
  35. package/dist/effects/ColorDepth.js +7 -0
  36. package/dist/effects/ColorDepth.js.map +1 -0
  37. package/dist/effects/Depth.cjs +7 -0
  38. package/dist/effects/Depth.cjs.map +1 -0
  39. package/dist/effects/Depth.js +7 -0
  40. package/dist/effects/Depth.js.map +1 -0
  41. package/dist/effects/DepthOfField.cjs +74 -0
  42. package/dist/effects/DepthOfField.cjs.map +1 -0
  43. package/dist/effects/DepthOfField.js +74 -0
  44. package/dist/effects/DepthOfField.js.map +1 -0
  45. package/dist/effects/DotScreen.cjs +7 -0
  46. package/dist/effects/DotScreen.cjs.map +1 -0
  47. package/dist/effects/DotScreen.js +7 -0
  48. package/dist/effects/DotScreen.js.map +1 -0
  49. package/dist/effects/FXAA.cjs +7 -0
  50. package/dist/effects/FXAA.cjs.map +1 -0
  51. package/dist/effects/FXAA.js +7 -0
  52. package/dist/effects/FXAA.js.map +1 -0
  53. package/dist/effects/Glitch.cjs +30 -0
  54. package/dist/effects/Glitch.cjs.map +1 -0
  55. package/dist/effects/Glitch.js +30 -0
  56. package/dist/effects/Glitch.js.map +1 -0
  57. package/dist/effects/GodRays.cjs +15 -0
  58. package/dist/effects/GodRays.cjs.map +1 -0
  59. package/dist/effects/GodRays.js +15 -0
  60. package/dist/effects/GodRays.js.map +1 -0
  61. package/dist/effects/Grid.cjs +18 -0
  62. package/dist/effects/Grid.cjs.map +1 -0
  63. package/dist/effects/Grid.js +18 -0
  64. package/dist/effects/Grid.js.map +1 -0
  65. package/dist/effects/HueSaturation.cjs +7 -0
  66. package/dist/effects/HueSaturation.cjs.map +1 -0
  67. package/dist/effects/HueSaturation.js +7 -0
  68. package/dist/effects/HueSaturation.js.map +1 -0
  69. package/dist/effects/LUT.cjs +20 -0
  70. package/dist/effects/LUT.cjs.map +1 -0
  71. package/dist/effects/LUT.js +20 -0
  72. package/dist/effects/LUT.js.map +1 -0
  73. package/dist/effects/LensFlare.cjs +189 -0
  74. package/dist/effects/LensFlare.cjs.map +1 -0
  75. package/dist/effects/LensFlare.js +172 -0
  76. package/dist/effects/LensFlare.js.map +1 -0
  77. package/dist/effects/N8AO.cjs +59 -0
  78. package/dist/effects/N8AO.cjs.map +1 -0
  79. package/dist/effects/N8AO.js +59 -0
  80. package/dist/effects/N8AO.js.map +1 -0
  81. package/dist/effects/Noise.cjs +7 -0
  82. package/dist/effects/Noise.cjs.map +1 -0
  83. package/dist/effects/Noise.js +7 -0
  84. package/dist/effects/Noise.js.map +1 -0
  85. package/dist/effects/Outline.cjs +93 -0
  86. package/dist/effects/Outline.cjs.map +1 -0
  87. package/dist/effects/Outline.js +93 -0
  88. package/dist/effects/Outline.js.map +1 -0
  89. package/dist/effects/Pixelation.cjs +11 -0
  90. package/dist/effects/Pixelation.cjs.map +1 -0
  91. package/dist/effects/Pixelation.js +11 -0
  92. package/dist/effects/Pixelation.js.map +1 -0
  93. package/dist/effects/SMAA.cjs +7 -0
  94. package/dist/effects/SMAA.cjs.map +1 -0
  95. package/dist/effects/SMAA.js +7 -0
  96. package/dist/effects/SMAA.js.map +1 -0
  97. package/dist/effects/SSAO.cjs +37 -0
  98. package/dist/effects/SSAO.cjs.map +1 -0
  99. package/dist/effects/SSAO.js +37 -0
  100. package/dist/effects/SSAO.js.map +1 -0
  101. package/dist/effects/SSR/index.cjs +33 -0
  102. package/dist/effects/SSR/index.cjs.map +1 -0
  103. package/dist/effects/SSR/index.js +33 -0
  104. package/dist/effects/SSR/index.js.map +1 -0
  105. package/dist/effects/SSR/screen-space-reflections.cjs +1133 -0
  106. package/dist/effects/SSR/screen-space-reflections.cjs.map +1 -0
  107. package/dist/effects/SSR/screen-space-reflections.js +1133 -0
  108. package/dist/effects/SSR/screen-space-reflections.js.map +1 -0
  109. package/dist/effects/ScanlineEffect.cjs +7 -0
  110. package/dist/effects/ScanlineEffect.cjs.map +1 -0
  111. package/dist/effects/ScanlineEffect.js +7 -0
  112. package/dist/effects/ScanlineEffect.js.map +1 -0
  113. package/dist/effects/SelectiveBloom.cjs +87 -0
  114. package/dist/effects/SelectiveBloom.cjs.map +1 -0
  115. package/dist/effects/SelectiveBloom.js +87 -0
  116. package/dist/effects/SelectiveBloom.js.map +1 -0
  117. package/dist/effects/Sepia.cjs +7 -0
  118. package/dist/effects/Sepia.cjs.map +1 -0
  119. package/dist/effects/Sepia.js +7 -0
  120. package/dist/effects/Sepia.js.map +1 -0
  121. package/dist/effects/ShockWave.cjs +7 -0
  122. package/dist/effects/ShockWave.cjs.map +1 -0
  123. package/dist/effects/ShockWave.js +7 -0
  124. package/dist/effects/ShockWave.js.map +1 -0
  125. package/dist/effects/Texture.cjs +18 -0
  126. package/dist/effects/Texture.cjs.map +1 -0
  127. package/dist/effects/Texture.js +18 -0
  128. package/dist/effects/Texture.js.map +1 -0
  129. package/dist/effects/TiltShift.cjs +7 -0
  130. package/dist/effects/TiltShift.cjs.map +1 -0
  131. package/dist/effects/TiltShift.js +7 -0
  132. package/dist/effects/TiltShift.js.map +1 -0
  133. package/dist/effects/TiltShift2.cjs +98 -0
  134. package/dist/effects/TiltShift2.cjs.map +1 -0
  135. package/dist/effects/TiltShift2.js +98 -0
  136. package/dist/effects/TiltShift2.js.map +1 -0
  137. package/dist/effects/ToneMapping.cjs +7 -0
  138. package/dist/effects/ToneMapping.cjs.map +1 -0
  139. package/dist/effects/ToneMapping.js +7 -0
  140. package/dist/effects/ToneMapping.js.map +1 -0
  141. package/dist/effects/Vignette.cjs +7 -0
  142. package/dist/effects/Vignette.cjs.map +1 -0
  143. package/dist/effects/Vignette.js +7 -0
  144. package/dist/effects/Vignette.js.map +1 -0
  145. package/dist/index.cjs +79 -3661
  146. package/dist/index.cjs.map +1 -1
  147. package/dist/index.js +36 -3602
  148. package/dist/index.js.map +1 -1
  149. package/dist/node_modules/n8ao/dist/N8AO.cjs +1439 -0
  150. package/dist/node_modules/n8ao/dist/N8AO.cjs.map +1 -0
  151. package/dist/node_modules/n8ao/dist/N8AO.js +1439 -0
  152. package/dist/node_modules/n8ao/dist/N8AO.js.map +1 -0
  153. package/dist/util.cjs +69 -0
  154. package/dist/util.cjs.map +1 -0
  155. package/dist/util.js +52 -0
  156. package/dist/util.js.map +1 -0
  157. package/package.json +1 -1
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const THREE = require("three");
4
+ const postprocessing = require("postprocessing");
5
+ const util = require("../util.cjs");
6
+ const TiltShiftShader = {
7
+ fragmentShader: `
8
+
9
+ // original shader by Evan Wallace
10
+
11
+ #define MAX_ITERATIONS 100
12
+
13
+ uniform float blur;
14
+ uniform float taper;
15
+ uniform vec2 start;
16
+ uniform vec2 end;
17
+ uniform vec2 direction;
18
+ uniform int samples;
19
+
20
+ float random(vec3 scale, float seed) {
21
+ /* use the fragment position for a different seed per-pixel */
22
+ return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);
23
+ }
24
+
25
+ void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {
26
+ vec4 color = vec4(0.0);
27
+ float total = 0.0;
28
+ vec2 startPixel = vec2(start.x * resolution.x, start.y * resolution.y);
29
+ vec2 endPixel = vec2(end.x * resolution.x, end.y * resolution.y);
30
+ float f_samples = float(samples);
31
+ float half_samples = f_samples / 2.0;
32
+
33
+ // use screen diagonal to normalize blur radii
34
+ float maxScreenDistance = distance(vec2(0.0), resolution); // diagonal distance
35
+ float gradientRadius = taper * (maxScreenDistance);
36
+ float blurRadius = blur * (maxScreenDistance / 16.0);
37
+
38
+ /* randomize the lookup values to hide the fixed number of samples */
39
+ float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);
40
+ vec2 normal = normalize(vec2(startPixel.y - endPixel.y, endPixel.x - startPixel.x));
41
+ float radius = smoothstep(0.0, 1.0, abs(dot(uv * resolution - startPixel, normal)) / gradientRadius) * blurRadius;
42
+
43
+ #pragma unroll_loop_start
44
+ for (int i = 0; i <= MAX_ITERATIONS; i++) {
45
+ if (i >= samples) { break; } // return early if over sample count
46
+ float f_i = float(i);
47
+ float s_i = -half_samples + f_i;
48
+ float percent = (s_i + offset - 0.5) / half_samples;
49
+ float weight = 1.0 - abs(percent);
50
+ vec4 sample_i = texture2D(inputBuffer, uv + normalize(direction) / resolution * percent * radius);
51
+ /* switch to pre-multiplied alpha to correctly blur transparent images */
52
+ sample_i.rgb *= sample_i.a;
53
+ color += sample_i * weight;
54
+ total += weight;
55
+ }
56
+ #pragma unroll_loop_end
57
+
58
+ outputColor = color / total;
59
+
60
+ /* switch back from pre-multiplied alpha */
61
+ outputColor.rgb /= outputColor.a + 0.00001;
62
+ }
63
+ `
64
+ };
65
+ class TiltShiftEffect extends postprocessing.Effect {
66
+ constructor({
67
+ blendFunction = postprocessing.BlendFunction.NORMAL,
68
+ blur = 0.15,
69
+ // [0, 1], can go beyond 1 for extra
70
+ taper = 0.5,
71
+ // [0, 1], can go beyond 1 for extra
72
+ start = [0.5, 0],
73
+ // [0,1] percentage x,y of screenspace
74
+ end = [0.5, 1],
75
+ // [0,1] percentage x,y of screenspace
76
+ samples = 10,
77
+ // number of blur samples
78
+ direction = [1, 1]
79
+ // direction of blur
80
+ } = {}) {
81
+ super("TiltShiftEffect", TiltShiftShader.fragmentShader, {
82
+ blendFunction,
83
+ attributes: postprocessing.EffectAttribute.CONVOLUTION,
84
+ uniforms: /* @__PURE__ */ new Map([
85
+ ["blur", new THREE.Uniform(blur)],
86
+ ["taper", new THREE.Uniform(taper)],
87
+ ["start", new THREE.Uniform(start)],
88
+ ["end", new THREE.Uniform(end)],
89
+ ["samples", new THREE.Uniform(samples)],
90
+ ["direction", new THREE.Uniform(direction)]
91
+ ])
92
+ });
93
+ }
94
+ }
95
+ const TiltShift2 = util.wrapEffect(TiltShiftEffect, { blendFunction: postprocessing.BlendFunction.NORMAL });
96
+ exports.TiltShift2 = TiltShift2;
97
+ exports.TiltShiftEffect = TiltShiftEffect;
98
+ //# sourceMappingURL=TiltShift2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TiltShift2.cjs","sources":["../../src/effects/TiltShift2.tsx"],"sourcesContent":["import { Uniform } from 'three'\nimport { BlendFunction, Effect, EffectAttribute } from 'postprocessing'\nimport { wrapEffect } from '../util'\n\nconst TiltShiftShader = {\n fragmentShader: `\n\n // original shader by Evan Wallace\n\n #define MAX_ITERATIONS 100\n\n uniform float blur;\n uniform float taper;\n uniform vec2 start;\n uniform vec2 end;\n uniform vec2 direction;\n uniform int samples;\n\n float random(vec3 scale, float seed) {\n /* use the fragment position for a different seed per-pixel */\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n }\n\n void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {\n vec4 color = vec4(0.0);\n float total = 0.0;\n vec2 startPixel = vec2(start.x * resolution.x, start.y * resolution.y);\n vec2 endPixel = vec2(end.x * resolution.x, end.y * resolution.y);\n float f_samples = float(samples);\n float half_samples = f_samples / 2.0;\n\n // use screen diagonal to normalize blur radii\n float maxScreenDistance = distance(vec2(0.0), resolution); // diagonal distance\n float gradientRadius = taper * (maxScreenDistance);\n float blurRadius = blur * (maxScreenDistance / 16.0);\n\n /* randomize the lookup values to hide the fixed number of samples */\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(startPixel.y - endPixel.y, endPixel.x - startPixel.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(uv * resolution - startPixel, normal)) / gradientRadius) * blurRadius;\n\n #pragma unroll_loop_start\n for (int i = 0; i <= MAX_ITERATIONS; i++) {\n if (i >= samples) { break; } // return early if over sample count\n float f_i = float(i);\n float s_i = -half_samples + f_i;\n float percent = (s_i + offset - 0.5) / half_samples;\n float weight = 1.0 - abs(percent);\n vec4 sample_i = texture2D(inputBuffer, uv + normalize(direction) / resolution * percent * radius);\n /* switch to pre-multiplied alpha to correctly blur transparent images */\n sample_i.rgb *= sample_i.a;\n color += sample_i * weight;\n total += weight;\n }\n #pragma unroll_loop_end\n\n outputColor = color / total;\n\n /* switch back from pre-multiplied alpha */\n outputColor.rgb /= outputColor.a + 0.00001;\n }\n `,\n}\n\nexport class TiltShiftEffect extends Effect {\n constructor({\n blendFunction = BlendFunction.NORMAL,\n blur = 0.15, // [0, 1], can go beyond 1 for extra\n taper = 0.5, // [0, 1], can go beyond 1 for extra\n start = [0.5, 0.0], // [0,1] percentage x,y of screenspace\n end = [0.5, 1.0], // [0,1] percentage x,y of screenspace\n samples = 10.0, // number of blur samples\n direction = [1, 1], // direction of blur\n } = {}) {\n super('TiltShiftEffect', TiltShiftShader.fragmentShader, {\n blendFunction,\n attributes: EffectAttribute.CONVOLUTION,\n uniforms: new Map<string, Uniform<number | number[]>>([\n ['blur', new Uniform(blur)],\n ['taper', new Uniform(taper)],\n ['start', new Uniform(start)],\n ['end', new Uniform(end)],\n ['samples', new Uniform(samples)],\n ['direction', new Uniform(direction)],\n ]),\n })\n }\n}\n\nexport const TiltShift2 = wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.NORMAL })\n"],"names":["Effect","BlendFunction","EffectAttribute","Uniform","wrapEffect"],"mappings":";;;;;AAIA,MAAM,kBAAkB;AAAA,EACtB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDlB;AAEO,MAAM,wBAAwBA,eAAAA,OAAO;AAAA,EAC1C,YAAY;AAAA,IACV,gBAAgBC,eAAc,cAAA;AAAA,IAC9B,OAAO;AAAA;AAAA,IACP,QAAQ;AAAA;AAAA,IACR,QAAQ,CAAC,KAAK,CAAG;AAAA;AAAA,IACjB,MAAM,CAAC,KAAK,CAAG;AAAA;AAAA,IACf,UAAU;AAAA;AAAA,IACV,YAAY,CAAC,GAAG,CAAC;AAAA;AAAA,EACnB,IAAI,IAAI;AACA,UAAA,mBAAmB,gBAAgB,gBAAgB;AAAA,MACvD;AAAA,MACA,YAAYC,eAAgB,gBAAA;AAAA,MAC5B,8BAAc,IAAwC;AAAA,QACpD,CAAC,QAAQ,IAAIC,cAAQ,IAAI,CAAC;AAAA,QAC1B,CAAC,SAAS,IAAIA,cAAQ,KAAK,CAAC;AAAA,QAC5B,CAAC,SAAS,IAAIA,cAAQ,KAAK,CAAC;AAAA,QAC5B,CAAC,OAAO,IAAIA,cAAQ,GAAG,CAAC;AAAA,QACxB,CAAC,WAAW,IAAIA,cAAQ,OAAO,CAAC;AAAA,QAChC,CAAC,aAAa,IAAIA,cAAQ,SAAS,CAAC;AAAA,MAAA,CACrC;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAEO,MAAM,aAAaC,KAAW,WAAA,iBAAiB,EAAE,eAAeH,eAAAA,cAAc,OAAQ,CAAA;;;"}
@@ -0,0 +1,98 @@
1
+ import { Uniform } from "three";
2
+ import { Effect, EffectAttribute, BlendFunction } from "postprocessing";
3
+ import { wrapEffect } from "../util.js";
4
+ const TiltShiftShader = {
5
+ fragmentShader: `
6
+
7
+ // original shader by Evan Wallace
8
+
9
+ #define MAX_ITERATIONS 100
10
+
11
+ uniform float blur;
12
+ uniform float taper;
13
+ uniform vec2 start;
14
+ uniform vec2 end;
15
+ uniform vec2 direction;
16
+ uniform int samples;
17
+
18
+ float random(vec3 scale, float seed) {
19
+ /* use the fragment position for a different seed per-pixel */
20
+ return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);
21
+ }
22
+
23
+ void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {
24
+ vec4 color = vec4(0.0);
25
+ float total = 0.0;
26
+ vec2 startPixel = vec2(start.x * resolution.x, start.y * resolution.y);
27
+ vec2 endPixel = vec2(end.x * resolution.x, end.y * resolution.y);
28
+ float f_samples = float(samples);
29
+ float half_samples = f_samples / 2.0;
30
+
31
+ // use screen diagonal to normalize blur radii
32
+ float maxScreenDistance = distance(vec2(0.0), resolution); // diagonal distance
33
+ float gradientRadius = taper * (maxScreenDistance);
34
+ float blurRadius = blur * (maxScreenDistance / 16.0);
35
+
36
+ /* randomize the lookup values to hide the fixed number of samples */
37
+ float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);
38
+ vec2 normal = normalize(vec2(startPixel.y - endPixel.y, endPixel.x - startPixel.x));
39
+ float radius = smoothstep(0.0, 1.0, abs(dot(uv * resolution - startPixel, normal)) / gradientRadius) * blurRadius;
40
+
41
+ #pragma unroll_loop_start
42
+ for (int i = 0; i <= MAX_ITERATIONS; i++) {
43
+ if (i >= samples) { break; } // return early if over sample count
44
+ float f_i = float(i);
45
+ float s_i = -half_samples + f_i;
46
+ float percent = (s_i + offset - 0.5) / half_samples;
47
+ float weight = 1.0 - abs(percent);
48
+ vec4 sample_i = texture2D(inputBuffer, uv + normalize(direction) / resolution * percent * radius);
49
+ /* switch to pre-multiplied alpha to correctly blur transparent images */
50
+ sample_i.rgb *= sample_i.a;
51
+ color += sample_i * weight;
52
+ total += weight;
53
+ }
54
+ #pragma unroll_loop_end
55
+
56
+ outputColor = color / total;
57
+
58
+ /* switch back from pre-multiplied alpha */
59
+ outputColor.rgb /= outputColor.a + 0.00001;
60
+ }
61
+ `
62
+ };
63
+ class TiltShiftEffect extends Effect {
64
+ constructor({
65
+ blendFunction = BlendFunction.NORMAL,
66
+ blur = 0.15,
67
+ // [0, 1], can go beyond 1 for extra
68
+ taper = 0.5,
69
+ // [0, 1], can go beyond 1 for extra
70
+ start = [0.5, 0],
71
+ // [0,1] percentage x,y of screenspace
72
+ end = [0.5, 1],
73
+ // [0,1] percentage x,y of screenspace
74
+ samples = 10,
75
+ // number of blur samples
76
+ direction = [1, 1]
77
+ // direction of blur
78
+ } = {}) {
79
+ super("TiltShiftEffect", TiltShiftShader.fragmentShader, {
80
+ blendFunction,
81
+ attributes: EffectAttribute.CONVOLUTION,
82
+ uniforms: /* @__PURE__ */ new Map([
83
+ ["blur", new Uniform(blur)],
84
+ ["taper", new Uniform(taper)],
85
+ ["start", new Uniform(start)],
86
+ ["end", new Uniform(end)],
87
+ ["samples", new Uniform(samples)],
88
+ ["direction", new Uniform(direction)]
89
+ ])
90
+ });
91
+ }
92
+ }
93
+ const TiltShift2 = wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.NORMAL });
94
+ export {
95
+ TiltShift2,
96
+ TiltShiftEffect
97
+ };
98
+ //# sourceMappingURL=TiltShift2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TiltShift2.js","sources":["../../src/effects/TiltShift2.tsx"],"sourcesContent":["import { Uniform } from 'three'\nimport { BlendFunction, Effect, EffectAttribute } from 'postprocessing'\nimport { wrapEffect } from '../util'\n\nconst TiltShiftShader = {\n fragmentShader: `\n\n // original shader by Evan Wallace\n\n #define MAX_ITERATIONS 100\n\n uniform float blur;\n uniform float taper;\n uniform vec2 start;\n uniform vec2 end;\n uniform vec2 direction;\n uniform int samples;\n\n float random(vec3 scale, float seed) {\n /* use the fragment position for a different seed per-pixel */\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n }\n\n void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {\n vec4 color = vec4(0.0);\n float total = 0.0;\n vec2 startPixel = vec2(start.x * resolution.x, start.y * resolution.y);\n vec2 endPixel = vec2(end.x * resolution.x, end.y * resolution.y);\n float f_samples = float(samples);\n float half_samples = f_samples / 2.0;\n\n // use screen diagonal to normalize blur radii\n float maxScreenDistance = distance(vec2(0.0), resolution); // diagonal distance\n float gradientRadius = taper * (maxScreenDistance);\n float blurRadius = blur * (maxScreenDistance / 16.0);\n\n /* randomize the lookup values to hide the fixed number of samples */\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(startPixel.y - endPixel.y, endPixel.x - startPixel.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(uv * resolution - startPixel, normal)) / gradientRadius) * blurRadius;\n\n #pragma unroll_loop_start\n for (int i = 0; i <= MAX_ITERATIONS; i++) {\n if (i >= samples) { break; } // return early if over sample count\n float f_i = float(i);\n float s_i = -half_samples + f_i;\n float percent = (s_i + offset - 0.5) / half_samples;\n float weight = 1.0 - abs(percent);\n vec4 sample_i = texture2D(inputBuffer, uv + normalize(direction) / resolution * percent * radius);\n /* switch to pre-multiplied alpha to correctly blur transparent images */\n sample_i.rgb *= sample_i.a;\n color += sample_i * weight;\n total += weight;\n }\n #pragma unroll_loop_end\n\n outputColor = color / total;\n\n /* switch back from pre-multiplied alpha */\n outputColor.rgb /= outputColor.a + 0.00001;\n }\n `,\n}\n\nexport class TiltShiftEffect extends Effect {\n constructor({\n blendFunction = BlendFunction.NORMAL,\n blur = 0.15, // [0, 1], can go beyond 1 for extra\n taper = 0.5, // [0, 1], can go beyond 1 for extra\n start = [0.5, 0.0], // [0,1] percentage x,y of screenspace\n end = [0.5, 1.0], // [0,1] percentage x,y of screenspace\n samples = 10.0, // number of blur samples\n direction = [1, 1], // direction of blur\n } = {}) {\n super('TiltShiftEffect', TiltShiftShader.fragmentShader, {\n blendFunction,\n attributes: EffectAttribute.CONVOLUTION,\n uniforms: new Map<string, Uniform<number | number[]>>([\n ['blur', new Uniform(blur)],\n ['taper', new Uniform(taper)],\n ['start', new Uniform(start)],\n ['end', new Uniform(end)],\n ['samples', new Uniform(samples)],\n ['direction', new Uniform(direction)],\n ]),\n })\n }\n}\n\nexport const TiltShift2 = wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.NORMAL })\n"],"names":[],"mappings":";;;AAIA,MAAM,kBAAkB;AAAA,EACtB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDlB;AAEO,MAAM,wBAAwB,OAAO;AAAA,EAC1C,YAAY;AAAA,IACV,gBAAgB,cAAc;AAAA,IAC9B,OAAO;AAAA;AAAA,IACP,QAAQ;AAAA;AAAA,IACR,QAAQ,CAAC,KAAK,CAAG;AAAA;AAAA,IACjB,MAAM,CAAC,KAAK,CAAG;AAAA;AAAA,IACf,UAAU;AAAA;AAAA,IACV,YAAY,CAAC,GAAG,CAAC;AAAA;AAAA,EACnB,IAAI,IAAI;AACA,UAAA,mBAAmB,gBAAgB,gBAAgB;AAAA,MACvD;AAAA,MACA,YAAY,gBAAgB;AAAA,MAC5B,8BAAc,IAAwC;AAAA,QACpD,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC;AAAA,QAC1B,CAAC,SAAS,IAAI,QAAQ,KAAK,CAAC;AAAA,QAC5B,CAAC,SAAS,IAAI,QAAQ,KAAK,CAAC;AAAA,QAC5B,CAAC,OAAO,IAAI,QAAQ,GAAG,CAAC;AAAA,QACxB,CAAC,WAAW,IAAI,QAAQ,OAAO,CAAC;AAAA,QAChC,CAAC,aAAa,IAAI,QAAQ,SAAS,CAAC;AAAA,MAAA,CACrC;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAEO,MAAM,aAAa,WAAW,iBAAiB,EAAE,eAAe,cAAc,OAAQ,CAAA;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const postprocessing = require("postprocessing");
4
+ const util = require("../util.cjs");
5
+ const ToneMapping = util.wrapEffect(postprocessing.ToneMappingEffect);
6
+ exports.ToneMapping = ToneMapping;
7
+ //# sourceMappingURL=ToneMapping.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToneMapping.cjs","sources":["../../src/effects/ToneMapping.tsx"],"sourcesContent":["import { ToneMappingEffect } from 'postprocessing'\nimport { wrapEffect } from '../util'\n\nexport const ToneMapping = wrapEffect(ToneMappingEffect)\n"],"names":["wrapEffect","ToneMappingEffect"],"mappings":";;;;AAGa,MAAA,cAAcA,gBAAWC,eAAiB,iBAAA;;"}
@@ -0,0 +1,7 @@
1
+ import { ToneMappingEffect } from "postprocessing";
2
+ import { wrapEffect } from "../util.js";
3
+ const ToneMapping = wrapEffect(ToneMappingEffect);
4
+ export {
5
+ ToneMapping
6
+ };
7
+ //# sourceMappingURL=ToneMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToneMapping.js","sources":["../../src/effects/ToneMapping.tsx"],"sourcesContent":["import { ToneMappingEffect } from 'postprocessing'\nimport { wrapEffect } from '../util'\n\nexport const ToneMapping = wrapEffect(ToneMappingEffect)\n"],"names":[],"mappings":";;AAGa,MAAA,cAAc,WAAW,iBAAiB;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const postprocessing = require("postprocessing");
4
+ const util = require("../util.cjs");
5
+ const Vignette = util.wrapEffect(postprocessing.VignetteEffect);
6
+ exports.Vignette = Vignette;
7
+ //# sourceMappingURL=Vignette.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vignette.cjs","sources":["../../src/effects/Vignette.tsx"],"sourcesContent":["import { VignetteEffect } from 'postprocessing'\nimport { wrapEffect } from '../util'\n\nexport const Vignette = wrapEffect(VignetteEffect)\n"],"names":["wrapEffect","VignetteEffect"],"mappings":";;;;AAGa,MAAA,WAAWA,gBAAWC,eAAc,cAAA;;"}
@@ -0,0 +1,7 @@
1
+ import { VignetteEffect } from "postprocessing";
2
+ import { wrapEffect } from "../util.js";
3
+ const Vignette = wrapEffect(VignetteEffect);
4
+ export {
5
+ Vignette
6
+ };
7
+ //# sourceMappingURL=Vignette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vignette.js","sources":["../../src/effects/Vignette.tsx"],"sourcesContent":["import { VignetteEffect } from 'postprocessing'\nimport { wrapEffect } from '../util'\n\nexport const Vignette = wrapEffect(VignetteEffect)\n"],"names":[],"mappings":";;AAGa,MAAA,WAAW,WAAW,cAAc;"}