shaders 2.2.26 → 2.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/{AngularBlur-Dl2gwk68.js → AngularBlur-DKFExWUF.js} +15 -16
- package/dist/core/{Ascii-DsuNLJKv.js → Ascii-BRApYlD4.js} +21 -22
- package/dist/core/{Beam-CTN9Ni43.js → Beam-DU7wxmIh.js} +23 -24
- package/dist/core/{Blob-CxFDZovO.js → Blob-nssNzEgN.js} +37 -38
- package/dist/core/{Blur-Y2FsmFk_.js → Blur-k37gOaRA.js} +16 -17
- package/dist/core/{Bulge-Cb-t0xqI.js → Bulge-Dm02_fG6.js} +23 -25
- package/dist/core/{CRTScreen-CtERsenz.js → CRTScreen-DLy8Rig6.js} +19 -20
- package/dist/core/ChannelBlur-BPOGOQXl.js +117 -0
- package/dist/core/{Checkerboard-BIFNsUYG.js → Checkerboard-SKsXoUXE.js} +10 -11
- package/dist/core/{ChromaFlow-vRCwhQpN.js → ChromaFlow-VpfgLFbs.js} +31 -32
- package/dist/core/{ChromaticAberration-FTquTQIL.js → ChromaticAberration-CaCyXMyE.js} +10 -11
- package/dist/core/{Circle-Daziv5d7.js → Circle-BHnAmzVb.js} +7 -8
- package/dist/core/{CursorTrail-Bsz9e6Fn.js → CursorTrail-CfVWIKok.js} +16 -17
- package/dist/core/{DiffuseBlur-Cj2PtRNd.js → DiffuseBlur-GWPb8Zht.js} +19 -21
- package/dist/core/{Dither-Cq8j0QIU.js → Dither-BNEeyo0u.js} +7 -8
- package/dist/core/{DotGrid-BHfQ3hcI.js → DotGrid-CRRS6nbt.js} +12 -13
- package/dist/core/{Duotone-XuTN9tI7.js → Duotone-5gKND3an.js} +8 -9
- package/dist/core/{FilmGrain-D3-nbi12.js → FilmGrain-osBGk_b9.js} +4 -5
- package/dist/core/{FloatingParticles-CP6GqC3k.js → FloatingParticles-CULOurGT.js} +41 -42
- package/dist/core/GlassTiles-CA90XrNT.js +67 -0
- package/dist/core/{Glow-BluFc9be.js → Glow-D0boDIAW.js} +12 -13
- package/dist/core/{Godrays-ChLh_vGl.js → Godrays-BQsDwU26.js} +27 -28
- package/dist/core/{Grid-DgyDa4H1.js → Grid-CWHxwO7R.js} +7 -8
- package/dist/core/{GridDistortion-BAspCYvp.js → GridDistortion-CZB9w-rv.js} +21 -22
- package/dist/core/{Group-Dul7PUBl.js → Group-C0AknFDS.js} +2 -3
- package/dist/core/{Halftone-Ifv5F_FT.js → Halftone-MMcLMRpL.js} +11 -12
- package/dist/core/{ImageTexture-DvYcQgJB.js → ImageTexture-D9OMwqAs.js} +26 -27
- package/dist/core/{Invert-Fz0NtIJc.js → Invert-Bmjbp6g6.js} +5 -6
- package/dist/core/{LinearBlur-LmhnQoA4.js → LinearBlur-B-Ikurxt.js} +12 -13
- package/dist/core/{LinearGradient-xbloQjzt.js → LinearGradient-DV6UkhZk.js} +21 -22
- package/dist/core/{Liquify-DMe1V5-O.js → Liquify-W8UQNeEM.js} +24 -26
- package/dist/core/{Pixelate-JF72DGuK.js → Pixelate-_pyYeLRP.js} +6 -8
- package/dist/core/{PolarCoordinates-DDvDhBE-.js → PolarCoordinates-D63xm0oJ.js} +15 -17
- package/dist/core/{ProgressiveBlur-EGkevObV.js → ProgressiveBlur-G-s-o9ic.js} +23 -24
- package/dist/core/{RadialGradient-B7ZZB_VJ.js → RadialGradient-BGVqSwh0.js} +6 -7
- package/dist/core/{RectangularCoordinates-muWR8mZS.js → RectangularCoordinates-DyHBo456.js} +19 -21
- package/dist/core/{Ripples-8XaZaXQF.js → Ripples-2FGWCZlp.js} +9 -10
- package/dist/core/{SimplexNoise-DJUe0wz_.js → SimplexNoise-B6dtUCmn.js} +4 -4
- package/dist/core/{SineWave-Dl3nFO1W.js → SineWave-BtPf6-2H.js} +11 -12
- package/dist/core/{SolidColor-CWGq_Bjq.js → SolidColor-CETl1cEr.js} +1 -1
- package/dist/core/{Spherize-C-jZEUsN.js → Spherize-BwvUcorJ.js} +24 -25
- package/dist/core/{Spiral-BSB_R39p.js → Spiral-DmJWmUmr.js} +16 -17
- package/dist/core/{Strands-0stO5BMy.js → Strands-CV1oCmHx.js} +31 -32
- package/dist/core/{Stretch-B645paha.js → Stretch-pl-Cn2F8.js} +23 -25
- package/dist/core/{Swirl-CVnbawit.js → Swirl-D65vXLDw.js} +15 -16
- package/dist/core/{TiltShift-0CxNRI6L.js → TiltShift-CFcK6Hzg.js} +22 -23
- package/dist/core/{Tritone-Daa-I5UD.js → Tritone-EmnjV2rX.js} +8 -9
- package/dist/core/{Twirl-2CJVZEtk.js → Twirl-HSMyRx5I.js} +18 -20
- package/dist/core/{WaveDistortion-BscXN2rs.js → WaveDistortion-DG8GO_l8.js} +31 -33
- package/dist/core/{ZoomBlur-CAqK0Kju.js → ZoomBlur-C01oGwwG.js} +12 -13
- package/dist/core/colorMixing-CZPFmiT4.js +68 -0
- package/dist/core/edges-Djr_12SL.js +25 -0
- package/dist/core/helpers/distort.d.ts.map +1 -1
- package/dist/core/helpers/edgeMask.d.ts.map +1 -1
- package/dist/core/helpers/glow.d.ts +3 -2
- package/dist/core/helpers/glow.d.ts.map +1 -1
- package/dist/core/helpers/grain.d.ts.map +1 -1
- package/dist/core/index.js +94 -102
- package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.js +2 -2
- package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
- package/dist/core/shaders/Ascii/index.js +1 -1
- package/dist/core/shaders/Beam/index.d.ts.map +1 -1
- package/dist/core/shaders/Beam/index.js +3 -3
- package/dist/core/shaders/Blob/index.d.ts.map +1 -1
- package/dist/core/shaders/Blob/index.js +3 -3
- package/dist/core/shaders/Blur/index.d.ts.map +1 -1
- package/dist/core/shaders/Blur/index.js +1 -1
- package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
- package/dist/core/shaders/Bulge/index.js +3 -3
- package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
- package/dist/core/shaders/CRTScreen/index.js +1 -1
- package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ChannelBlur/index.js +1 -1
- package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Checkerboard/index.js +3 -3
- package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
- package/dist/core/shaders/ChromaFlow/index.js +2 -2
- package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
- package/dist/core/shaders/ChromaticAberration/index.js +2 -2
- package/dist/core/shaders/Circle/index.d.ts.map +1 -1
- package/dist/core/shaders/Circle/index.js +2 -2
- package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
- package/dist/core/shaders/CursorTrail/index.js +3 -3
- package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/DiffuseBlur/index.js +3 -3
- package/dist/core/shaders/Dither/index.d.ts.map +1 -1
- package/dist/core/shaders/Dither/index.js +2 -2
- package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/DotGrid/index.js +2 -2
- package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
- package/dist/core/shaders/Duotone/index.js +3 -3
- package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
- package/dist/core/shaders/FilmGrain/index.js +1 -1
- package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
- package/dist/core/shaders/FloatingParticles/index.js +2 -2
- package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
- package/dist/core/shaders/GlassTiles/index.js +1 -1
- package/dist/core/shaders/Glow/index.d.ts.map +1 -1
- package/dist/core/shaders/Glow/index.js +1 -1
- package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
- package/dist/core/shaders/Godrays/index.js +2 -2
- package/dist/core/shaders/Grid/index.d.ts.map +1 -1
- package/dist/core/shaders/Grid/index.js +2 -2
- package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
- package/dist/core/shaders/GridDistortion/index.js +3 -3
- package/dist/core/shaders/Group/index.d.ts.map +1 -1
- package/dist/core/shaders/Group/index.js +1 -1
- package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
- package/dist/core/shaders/Halftone/index.js +2 -2
- package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
- package/dist/core/shaders/ImageTexture/index.js +1 -1
- package/dist/core/shaders/Invert/index.d.ts.map +1 -1
- package/dist/core/shaders/Invert/index.js +1 -1
- package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearBlur/index.js +2 -2
- package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearGradient/index.js +3 -3
- package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
- package/dist/core/shaders/Liquify/index.js +3 -3
- package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
- package/dist/core/shaders/Pixelate/index.js +1 -1
- package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
- package/dist/core/shaders/PolarCoordinates/index.js +3 -3
- package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.js +2 -2
- package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
- package/dist/core/shaders/RadialGradient/index.js +3 -3
- package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
- package/dist/core/shaders/RectangularCoordinates/index.js +3 -3
- package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
- package/dist/core/shaders/Ripples/index.js +3 -3
- package/dist/core/shaders/SimplexNoise/index.js +3 -3
- package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
- package/dist/core/shaders/SineWave/index.js +2 -2
- package/dist/core/shaders/SolidColor/index.js +2 -2
- package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
- package/dist/core/shaders/Spherize/index.js +2 -2
- package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
- package/dist/core/shaders/Spiral/index.js +3 -3
- package/dist/core/shaders/Strands/index.d.ts.map +1 -1
- package/dist/core/shaders/Strands/index.js +2 -2
- package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
- package/dist/core/shaders/Stretch/index.js +3 -3
- package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
- package/dist/core/shaders/Swirl/index.js +3 -3
- package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
- package/dist/core/shaders/TiltShift/index.js +2 -2
- package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
- package/dist/core/shaders/Tritone/index.js +3 -3
- package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
- package/dist/core/shaders/Twirl/index.js +3 -3
- package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
- package/dist/core/shaders/WaveDistortion/index.js +3 -3
- package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ZoomBlur/index.js +2 -2
- package/dist/core/{transformations-DxfQXZWi.js → transformations-Dv5JW9ck.js} +11 -12
- package/dist/core/utilities/colorMixing.d.ts.map +1 -1
- package/dist/core/utilities/edges.d.ts.map +1 -1
- package/dist/core/utilities/transformations.d.ts.map +1 -1
- package/dist/core/utilities/uniforms.d.ts.map +1 -1
- package/dist/core/utilities/uv.d.ts.map +1 -1
- package/dist/core/utilities/uvTransform.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/ChannelBlur-CvM6GJgZ.js +0 -118
- package/dist/core/GlassTiles-CXChgYaL.js +0 -69
- package/dist/core/colorMixing-BXiTAqJU.js +0 -69
- package/dist/core/edges-Bn_OIa_h.js +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/utilities/edges.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/utilities/edges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAE9C;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,OAAQ,IAAI,mBAAmB,IAAI,KAAG,IA6B/D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,gBACb,IAAI,gBACH,IAAI,gBACJ,WAAW,GAAG,IAAI,mBACf,IAAI,KACtB,IA+CF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformations.d.ts","sourceRoot":"","sources":["../../src/utilities/transformations.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"transformations.d.ts","sourceRoot":"","sources":["../../src/utilities/transformations.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,OAAO,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,UAAW,OAAO,WAAkB,CAAA;AAEjE;;;;GAIG;AACH,eAAO,MAAM,cAAc,UAAW,MAAM;UAKV,GAAG;;CAGpC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,UAAW;IAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GAAG,MAAM;UA4DzD,GAAG;;CAGnC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAW,MAAM,GAAG,MAAM,KAAG,MAyEvD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAe9C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;GAI7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,MAcnD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../src/utilities/uniforms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../src/utilities/uniforms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEhE,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,UAAU,EAAE,MAAM,GACnB,WAAW,CAkDb;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,QAAQ,EAAE,GAAG,GACd,IAAI,CASN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uv.d.ts","sourceRoot":"","sources":["../../src/utilities/uv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uv.d.ts","sourceRoot":"","sources":["../../src/utilities/uv.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,wGAKtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uvTransform.d.ts","sourceRoot":"","sources":["../../src/utilities/uvTransform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uvTransform.d.ts","sourceRoot":"","sources":["../../src/utilities/uvTransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AAEjC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;CACrD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,cAAe,eAAe,GAAG,SAAS,KAAG,OAW5E,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB,OACrB,IAAI,kBACQ,IAAI,kBACJ,IAAI,mBACH,IAAI,gBACP,IAAI,kBACF,IAAI,kBACJ,IAAI,sBACA,IAAI,KACzB,IAwCF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,OAC5B,IAAI,qBACW;IACf,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,EAAE,IAAI,CAAA;IACX,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,IAAI,CAAA;CACpB,KACF,IAqCF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import * as TSL from "three/tsl";
|
|
2
|
-
const componentDefinition = {
|
|
3
|
-
name: "ChannelBlur",
|
|
4
|
-
category: "Blurs",
|
|
5
|
-
description: "Independent blur for red, green, and blue channels",
|
|
6
|
-
requiresRTT: true,
|
|
7
|
-
requiresChild: true,
|
|
8
|
-
props: {
|
|
9
|
-
redIntensity: {
|
|
10
|
-
default: 0,
|
|
11
|
-
description: "Blur intensity for red channel",
|
|
12
|
-
ui: {
|
|
13
|
-
type: "range",
|
|
14
|
-
min: 0,
|
|
15
|
-
max: 100,
|
|
16
|
-
step: 1,
|
|
17
|
-
label: "Red Intensity"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
greenIntensity: {
|
|
21
|
-
default: 20,
|
|
22
|
-
description: "Blur intensity for green channel",
|
|
23
|
-
ui: {
|
|
24
|
-
type: "range",
|
|
25
|
-
min: 0,
|
|
26
|
-
max: 100,
|
|
27
|
-
step: 1,
|
|
28
|
-
label: "Green Intensity"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
blueIntensity: {
|
|
32
|
-
default: 40,
|
|
33
|
-
description: "Blur intensity for blue channel",
|
|
34
|
-
ui: {
|
|
35
|
-
type: "range",
|
|
36
|
-
min: 0,
|
|
37
|
-
max: 100,
|
|
38
|
-
step: 1,
|
|
39
|
-
label: "Blue Intensity"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
44
|
-
const { vec2: vec2$1, vec4: vec4$1, float: float$1, screenUV: screenUV$1, convertToTexture: convertToTexture$1, viewportSize: viewportSize$1, Fn } = TSL;
|
|
45
|
-
if (!childNode) return vec4$1(0, 0, 0, 0);
|
|
46
|
-
const childTexture = convertToTexture$1(childNode);
|
|
47
|
-
onCleanup(() => {
|
|
48
|
-
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
49
|
-
});
|
|
50
|
-
const weights = [
|
|
51
|
-
.056,
|
|
52
|
-
.135,
|
|
53
|
-
.278,
|
|
54
|
-
.487,
|
|
55
|
-
.726,
|
|
56
|
-
.923,
|
|
57
|
-
1,
|
|
58
|
-
.923,
|
|
59
|
-
.726,
|
|
60
|
-
.487,
|
|
61
|
-
.278,
|
|
62
|
-
.135,
|
|
63
|
-
.056
|
|
64
|
-
];
|
|
65
|
-
const weightSum = 6.214;
|
|
66
|
-
const redRadius = uniforms.redIntensity.uniform.mul(.1);
|
|
67
|
-
const greenRadius = uniforms.greenIntensity.uniform.mul(.1);
|
|
68
|
-
const blueRadius = uniforms.blueIntensity.uniform.mul(.1);
|
|
69
|
-
const horizontalTexture = convertToTexture$1(Fn(() => {
|
|
70
|
-
const uv = screenUV$1;
|
|
71
|
-
const pixelSize = vec2$1(1).div(viewportSize$1);
|
|
72
|
-
const redTotal = float$1(0).toVar();
|
|
73
|
-
const greenTotal = float$1(0).toVar();
|
|
74
|
-
const blueTotal = float$1(0).toVar();
|
|
75
|
-
for (let x = -6; x <= 6; x++) {
|
|
76
|
-
const weight = float$1(weights[x + 6] / weightSum);
|
|
77
|
-
const xOffset = float$1(x).mul(pixelSize.x);
|
|
78
|
-
const redOffset = vec2$1(xOffset.mul(redRadius), float$1(0));
|
|
79
|
-
const greenOffset = vec2$1(xOffset.mul(greenRadius), float$1(0));
|
|
80
|
-
const blueOffset = vec2$1(xOffset.mul(blueRadius), float$1(0));
|
|
81
|
-
const redSample = childTexture.sample(uv.add(redOffset)).r.mul(weight);
|
|
82
|
-
const greenSample = childTexture.sample(uv.add(greenOffset)).g.mul(weight);
|
|
83
|
-
const blueSample = childTexture.sample(uv.add(blueOffset)).b.mul(weight);
|
|
84
|
-
redTotal.assign(redTotal.add(redSample));
|
|
85
|
-
greenTotal.assign(greenTotal.add(greenSample));
|
|
86
|
-
blueTotal.assign(blueTotal.add(blueSample));
|
|
87
|
-
}
|
|
88
|
-
return vec4$1(redTotal, greenTotal, blueTotal, float$1(1));
|
|
89
|
-
})());
|
|
90
|
-
onCleanup(() => {
|
|
91
|
-
if (horizontalTexture?.renderTarget?.dispose) horizontalTexture.renderTarget.dispose();
|
|
92
|
-
});
|
|
93
|
-
return Fn(() => {
|
|
94
|
-
const uv = screenUV$1;
|
|
95
|
-
const pixelSize = vec2$1(1).div(viewportSize$1);
|
|
96
|
-
const redTotal = float$1(0).toVar();
|
|
97
|
-
const greenTotal = float$1(0).toVar();
|
|
98
|
-
const blueTotal = float$1(0).toVar();
|
|
99
|
-
for (let y = -6; y <= 6; y++) {
|
|
100
|
-
const weight = float$1(weights[y + 6] / weightSum);
|
|
101
|
-
const yOffset = float$1(y).mul(pixelSize.y);
|
|
102
|
-
const redOffset = vec2$1(float$1(0), yOffset.mul(redRadius));
|
|
103
|
-
const greenOffset = vec2$1(float$1(0), yOffset.mul(greenRadius));
|
|
104
|
-
const blueOffset = vec2$1(float$1(0), yOffset.mul(blueRadius));
|
|
105
|
-
const redSample = horizontalTexture.sample(uv.add(redOffset)).r.mul(weight);
|
|
106
|
-
const greenSample = horizontalTexture.sample(uv.add(greenOffset)).g.mul(weight);
|
|
107
|
-
const blueSample = horizontalTexture.sample(uv.add(blueOffset)).b.mul(weight);
|
|
108
|
-
redTotal.assign(redTotal.add(redSample));
|
|
109
|
-
greenTotal.assign(greenTotal.add(greenSample));
|
|
110
|
-
blueTotal.assign(blueTotal.add(blueSample));
|
|
111
|
-
}
|
|
112
|
-
const originalAlpha = childTexture.sample(uv).a;
|
|
113
|
-
return vec4$1(redTotal, greenTotal, blueTotal, originalAlpha);
|
|
114
|
-
})();
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
var ChannelBlur_default = componentDefinition;
|
|
118
|
-
export { componentDefinition as n, ChannelBlur_default as t };
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import * as TSL from "three/tsl";
|
|
2
|
-
const componentDefinition = {
|
|
3
|
-
name: "GlassTiles",
|
|
4
|
-
category: "Distortions",
|
|
5
|
-
description: "Refraction-like distortion in a tile grid pattern",
|
|
6
|
-
requiresRTT: true,
|
|
7
|
-
requiresChild: true,
|
|
8
|
-
props: {
|
|
9
|
-
intensity: {
|
|
10
|
-
default: 1,
|
|
11
|
-
description: "The intensity of the glass tiles effect",
|
|
12
|
-
ui: {
|
|
13
|
-
type: "range",
|
|
14
|
-
min: 0,
|
|
15
|
-
max: 5,
|
|
16
|
-
step: .1,
|
|
17
|
-
label: "Intensity"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
tileCount: {
|
|
21
|
-
default: 100,
|
|
22
|
-
description: "Number of tiles across the shortest dimension",
|
|
23
|
-
ui: {
|
|
24
|
-
type: "range",
|
|
25
|
-
min: 1,
|
|
26
|
-
max: 200,
|
|
27
|
-
step: 1,
|
|
28
|
-
label: "Tile Count"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
|
|
33
|
-
const { vec2: vec2$1, floor: floor$1, select } = TSL;
|
|
34
|
-
const intensity = uniforms.intensity.uniform;
|
|
35
|
-
const baseTileCount = uniforms.tileCount.uniform;
|
|
36
|
-
const aspectRatio = viewportSize$1.x.div(viewportSize$1.y);
|
|
37
|
-
const tileCount = vec2$1(select(aspectRatio.greaterThanEqual(1), baseTileCount.mul(aspectRatio), baseTileCount), select(aspectRatio.lessThan(1), baseTileCount.div(aspectRatio), baseTileCount));
|
|
38
|
-
const cellCoord = floor$1(uv.mul(tileCount)).div(tileCount);
|
|
39
|
-
const localUV = uv.sub(cellCoord);
|
|
40
|
-
const distortionCenter = vec2$1(.5, .5);
|
|
41
|
-
const distortionFactor = intensity.mul(.025);
|
|
42
|
-
const distortion = localUV.div(vec2$1(1, 1).div(tileCount)).sub(distortionCenter).mul(distortionFactor);
|
|
43
|
-
return localUV.add(distortion).add(cellCoord);
|
|
44
|
-
},
|
|
45
|
-
fragmentNode: ({ uniforms, childNode, dimensions, onCleanup }) => {
|
|
46
|
-
const { vec2: vec2$1, vec4: vec4$1, floor: floor$1, mul: mul$1, div: div$1, sub: sub$1, add: add$1, screenUV: screenUV$1, uniform: uniform$1, convertToTexture: convertToTexture$1 } = TSL;
|
|
47
|
-
if (!childNode) {
|
|
48
|
-
console.error("You must pass a child component into the Glass Tiles shader.");
|
|
49
|
-
return vec4$1(0);
|
|
50
|
-
}
|
|
51
|
-
const texture = convertToTexture$1(childNode);
|
|
52
|
-
onCleanup(() => {
|
|
53
|
-
if (texture?.renderTarget?.dispose) texture.renderTarget.dispose();
|
|
54
|
-
});
|
|
55
|
-
const aspectRatioUniform = uniform$1(dimensions.width / dimensions.height);
|
|
56
|
-
const uvNode = screenUV$1;
|
|
57
|
-
const intensity = uniforms.intensity.uniform;
|
|
58
|
-
const baseTileCount = uniforms.tileCount.uniform;
|
|
59
|
-
const tileCount = vec2$1(aspectRatioUniform.greaterThanEqual(1).select(mul$1(baseTileCount, aspectRatioUniform), baseTileCount), aspectRatioUniform.lessThan(1).select(div$1(baseTileCount, aspectRatioUniform), baseTileCount));
|
|
60
|
-
const cellCoord = div$1(floor$1(mul$1(uvNode, tileCount)), tileCount);
|
|
61
|
-
const localUV = sub$1(uvNode, cellCoord);
|
|
62
|
-
const distortionCenter = vec2$1(.5, .5);
|
|
63
|
-
const distortionFactor = mul$1(intensity, .025);
|
|
64
|
-
const finalUV = add$1(add$1(localUV, mul$1(sub$1(div$1(localUV, div$1(vec2$1(1), tileCount)), distortionCenter), distortionFactor)), cellCoord);
|
|
65
|
-
return vec4$1(texture.sample(finalUV));
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
var GlassTiles_default = componentDefinition;
|
|
69
|
-
export { componentDefinition as n, GlassTiles_default as t };
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import * as TSL from "three/tsl";
|
|
2
|
-
var { vec3: vec3$1, vec4: vec4$1, float: float$1, pow: pow$1, sqrt: sqrt$1, atan: atan$1, cos: cos$1, sin: sin$1 } = TSL;
|
|
3
|
-
var p3ToSRGB = (p3) => {
|
|
4
|
-
return vec3$1(p3.x.mul(1.2249401).sub(p3.y.mul(.2249404)).sub(p3.z.mul(0)), p3.x.mul(-.0420569).add(p3.y.mul(1.0420571)).add(p3.z.mul(0)), p3.x.mul(-.0196376).sub(p3.y.mul(.0786361)).add(p3.z.mul(1.0982735)));
|
|
5
|
-
};
|
|
6
|
-
var sRGBToP3 = (srgb) => {
|
|
7
|
-
return vec3$1(srgb.x.mul(.8224621).add(srgb.y.mul(.177538)).add(srgb.z.mul(0)), srgb.x.mul(.0331941).add(srgb.y.mul(.9668058)).add(srgb.z.mul(0)), srgb.x.mul(.0170826).add(srgb.y.mul(.0723974)).add(srgb.z.mul(.9105199)));
|
|
8
|
-
};
|
|
9
|
-
var rgbToOklab = (rgb) => {
|
|
10
|
-
const r = rgb.x;
|
|
11
|
-
const g = rgb.y;
|
|
12
|
-
const b = rgb.z;
|
|
13
|
-
const l = r.mul(.4122214708).add(g.mul(.5363325363)).add(b.mul(.0514459929));
|
|
14
|
-
const m = r.mul(.2119034982).add(g.mul(.6806995451).add(b.mul(.1073969566)));
|
|
15
|
-
const s = r.mul(.0883024619).add(g.mul(.2817188376)).add(b.mul(.6299787005));
|
|
16
|
-
const l_ = pow$1(l, float$1(1 / 3));
|
|
17
|
-
const m_ = pow$1(m, float$1(1 / 3));
|
|
18
|
-
const s_ = pow$1(s, float$1(1 / 3));
|
|
19
|
-
return vec3$1(l_.mul(.2104542553).add(m_.mul(.793617785)).sub(s_.mul(.0040720468)), l_.mul(1.9779984951).sub(m_.mul(2.428592205)).add(s_.mul(.4505937099)), l_.mul(.0259040371).add(m_.mul(.7827717662)).sub(s_.mul(.808675766)));
|
|
20
|
-
};
|
|
21
|
-
var oklabToRgb = (lab) => {
|
|
22
|
-
const L = lab.x;
|
|
23
|
-
const a = lab.y;
|
|
24
|
-
const b = lab.z;
|
|
25
|
-
const l_ = L.add(a.mul(.3963377774)).add(b.mul(.2158037573));
|
|
26
|
-
const m_ = L.sub(a.mul(.1055613458)).sub(b.mul(.0638541728));
|
|
27
|
-
const s_ = L.sub(a.mul(.0894841775)).sub(b.mul(1.291485548));
|
|
28
|
-
const l = pow$1(l_, float$1(3));
|
|
29
|
-
const m = pow$1(m_, float$1(3));
|
|
30
|
-
const s = pow$1(s_, float$1(3));
|
|
31
|
-
return vec3$1(l.mul(4.0767416621).sub(m.mul(3.3077115913)).add(s.mul(.2309699292)), l.mul(-1.2684380046).add(m.mul(2.6097574011)).sub(s.mul(.3413193965)), l.mul(-.0041960863).sub(m.mul(.7034186147)).add(s.mul(1.707614701)));
|
|
32
|
-
};
|
|
33
|
-
var oklabToOklch = (lab) => {
|
|
34
|
-
const L = lab.x;
|
|
35
|
-
const a = lab.y;
|
|
36
|
-
const b = lab.z;
|
|
37
|
-
return vec3$1(L, sqrt$1(a.mul(a).add(b.mul(b))), atan$1(b, a));
|
|
38
|
-
};
|
|
39
|
-
var oklchToOklab = (lch) => {
|
|
40
|
-
const L = lch.x;
|
|
41
|
-
const C = lch.y;
|
|
42
|
-
const h = lch.z;
|
|
43
|
-
return vec3$1(L, C.mul(cos$1(h)), C.mul(sin$1(h)));
|
|
44
|
-
};
|
|
45
|
-
const mixColors = (colorA, colorB, t, colorSpaceMode) => {
|
|
46
|
-
const p3A = vec3$1(colorA.x, colorA.y, colorA.z);
|
|
47
|
-
const p3B = vec3$1(colorB.x, colorB.y, colorB.z);
|
|
48
|
-
const alphaA = colorA.w;
|
|
49
|
-
const alphaB = colorB.w;
|
|
50
|
-
const weightA = alphaA.mul(float$1(1).sub(t));
|
|
51
|
-
const weightB = alphaB.mul(t);
|
|
52
|
-
const totalWeight = weightA.add(weightB);
|
|
53
|
-
const safeWeight = TSL.max(totalWeight, float$1(.001));
|
|
54
|
-
const alphaWeightedMix = (rgbA, rgbB) => {
|
|
55
|
-
return rgbA.mul(weightA).add(rgbB.mul(weightB)).div(safeWeight);
|
|
56
|
-
};
|
|
57
|
-
const linearMix = alphaWeightedMix(p3A, p3B);
|
|
58
|
-
const srgbA = p3ToSRGB(p3A);
|
|
59
|
-
const srgbB = p3ToSRGB(p3B);
|
|
60
|
-
const oklabA = rgbToOklab(srgbA);
|
|
61
|
-
const oklabB = rgbToOklab(srgbB);
|
|
62
|
-
const oklchResult = sRGBToP3(oklabToRgb(oklchToOklab(alphaWeightedMix(oklabToOklch(oklabA), oklabToOklch(oklabB)))));
|
|
63
|
-
const oklabResult = sRGBToP3(oklabToRgb(alphaWeightedMix(oklabA, oklabB)));
|
|
64
|
-
const isMode1OrHigher = colorSpaceMode.greaterThanEqual(float$1(.5));
|
|
65
|
-
const rgb = colorSpaceMode.greaterThanEqual(float$1(1.5)).select(oklabResult, isMode1OrHigher.select(oklchResult, linearMix));
|
|
66
|
-
const alpha = totalWeight;
|
|
67
|
-
return vec4$1(rgb.x, rgb.y, rgb.z, alpha);
|
|
68
|
-
};
|
|
69
|
-
export { mixColors as t };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as TSL from "three/tsl";
|
|
2
|
-
var { vec2: vec2$1, vec4: vec4$1, step: step$1, abs: abs$1, mod, fract, float: float$1, select } = TSL;
|
|
3
|
-
const applyEdgeToUV = (uv, edgeModeUniform) => {
|
|
4
|
-
const stretchedUV = uv.clamp(vec2$1(0, 0), vec2$1(1, 1));
|
|
5
|
-
const transparentUV = uv;
|
|
6
|
-
const mirrorX = mod(abs$1(uv.x), float$1(2));
|
|
7
|
-
const mirrorY = mod(abs$1(uv.y), float$1(2));
|
|
8
|
-
const mirroredUV = vec2$1(select(step$1(float$1(1), mirrorX), float$1(2).sub(mirrorX), mirrorX), select(step$1(float$1(1), mirrorY), float$1(2).sub(mirrorY), mirrorY));
|
|
9
|
-
const wrappedUV = fract(uv);
|
|
10
|
-
return select(step$1(float$1(.5), edgeModeUniform), select(step$1(float$1(1.5), edgeModeUniform), select(step$1(float$1(2.5), edgeModeUniform), wrappedUV, mirroredUV), transparentUV), stretchedUV);
|
|
11
|
-
};
|
|
12
|
-
const applyEdgeHandling = (distortedUV, sampledColor, childTexture, edgeModeUniform) => {
|
|
13
|
-
const inBoundsX = step$1(float$1(0), distortedUV.x).mul(step$1(distortedUV.x, float$1(1)));
|
|
14
|
-
const inBoundsY = step$1(float$1(0), distortedUV.y).mul(step$1(distortedUV.y, float$1(1)));
|
|
15
|
-
const inBounds = inBoundsX.mul(inBoundsY);
|
|
16
|
-
const transparentColor = vec4$1(sampledColor.rgb, sampledColor.a.mul(inBounds));
|
|
17
|
-
if (!childTexture) return select(step$1(float$1(.5), edgeModeUniform), transparentColor, sampledColor);
|
|
18
|
-
const mirrorX = mod(abs$1(distortedUV.x), float$1(2));
|
|
19
|
-
const mirrorY = mod(abs$1(distortedUV.y), float$1(2));
|
|
20
|
-
const mirroredUV = vec2$1(select(step$1(float$1(1), mirrorX), float$1(2).sub(mirrorX), mirrorX), select(step$1(float$1(1), mirrorY), float$1(2).sub(mirrorY), mirrorY));
|
|
21
|
-
const mirrorColor = childTexture.sample(mirroredUV);
|
|
22
|
-
const wrappedUV = vec2$1(fract(distortedUV.x), fract(distortedUV.y));
|
|
23
|
-
const wrapColor = childTexture.sample(wrappedUV);
|
|
24
|
-
return select(step$1(float$1(.5), edgeModeUniform), select(step$1(float$1(1.5), edgeModeUniform), select(step$1(float$1(2.5), edgeModeUniform), wrapColor, mirrorColor), transparentColor), sampledColor);
|
|
25
|
-
};
|
|
26
|
-
export { applyEdgeToUV as n, applyEdgeHandling as t };
|