shaders 2.2.25 → 2.2.27
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-Dha_QpT3.js → Ascii-BRApYlD4.js} +18 -19
- 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-CgB-egNY.js → Checkerboard-SKsXoUXE.js} +9 -10
- 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-D2Nf4p3w.js → Dither-BNEeyo0u.js} +7 -8
- package/dist/core/{DotGrid-CzOwquo4.js → DotGrid-CRRS6nbt.js} +10 -11
- 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-D9Nnu1qg.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/{Grayscale-DRny75A9.js → Grayscale-Bi-XBvO_.js} +4 -6
- 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/HueShift-DvOpzM7W.js +47 -0
- 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-Cv8537Pj.js → Pixelate-_pyYeLRP.js} +6 -8
- package/dist/core/{PolarCoordinates-DDvDhBE-.js → PolarCoordinates-D63xm0oJ.js} +15 -17
- package/dist/core/{Posterize-3m3xkWOz.js → Posterize-DIjjPS72.js} +4 -5
- 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/{Saturation-CYFI1jzN.js → Saturation-J0nI4hmh.js} +4 -6
- 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/{Vibrance-DRtecEvb.js → Vibrance-BI5q7_Wt.js} +8 -6
- 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 +99 -107
- 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/Grayscale/index.d.ts.map +1 -1
- package/dist/core/shaders/Grayscale/index.js +1 -1
- 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/HueShift/index.d.ts.map +1 -1
- package/dist/core/shaders/HueShift/index.js +1 -1
- 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/Posterize/index.d.ts.map +1 -1
- package/dist/core/shaders/Posterize/index.js +1 -1
- 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/Saturation/index.d.ts.map +1 -1
- package/dist/core/shaders/Saturation/index.js +1 -1
- 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/Vibrance/index.d.ts.map +1 -1
- package/dist/core/shaders/Vibrance/index.js +1 -1
- 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-CnjCvajI.js +0 -69
- package/dist/core/HueShift-De8ukMWs.js +0 -31
- package/dist/core/colorMixing-BXiTAqJU.js +0 -69
- package/dist/core/edges-Bn_OIa_h.js +0 -26
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as transformEdges, i as transformColorSpace, n as transformAngle, o as transformPosition, r as transformColor, t as colorSpaceOptions } from "./transformations-
|
|
2
|
-
import { t as mixColors } from "./colorMixing-
|
|
3
|
-
import
|
|
1
|
+
import { a as transformEdges, i as transformColorSpace, n as transformAngle, o as transformPosition, r as transformColor, t as colorSpaceOptions } from "./transformations-Dv5JW9ck.js";
|
|
2
|
+
import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
|
|
3
|
+
import { abs, cos, dot, float, fract, length, mod, normalize, radians, screenUV, sin, vec2, vec4 } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
5
5
|
name: "LinearGradient",
|
|
6
6
|
category: "Base Layers",
|
|
@@ -100,33 +100,32 @@ const componentDefinition = {
|
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
102
|
fragmentNode: ({ uniforms, uvContext }) => {
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
const
|
|
106
|
-
const endPos = vec2$1(uniforms.end.uniform[0], uniforms.end.uniform[1].oneMinus());
|
|
103
|
+
const uv$1 = uvContext ?? screenUV;
|
|
104
|
+
const startPos = vec2(uniforms.start.uniform[0], uniforms.start.uniform[1].oneMinus());
|
|
105
|
+
const endPos = vec2(uniforms.end.uniform[0], uniforms.end.uniform[1].oneMinus());
|
|
107
106
|
const gradientVector = endPos.sub(startPos);
|
|
108
107
|
const gradientLength = length(gradientVector);
|
|
109
108
|
const gradientDir = normalize(gradientVector);
|
|
110
109
|
const angleRad = radians(uniforms.angle.uniform).negate();
|
|
111
|
-
const cosAngle = cos
|
|
112
|
-
const sinAngle = sin
|
|
110
|
+
const cosAngle = cos(angleRad);
|
|
111
|
+
const sinAngle = sin(angleRad);
|
|
113
112
|
const midpoint = startPos.add(endPos).mul(.5);
|
|
114
|
-
const centeredUV = uv.sub(midpoint);
|
|
115
|
-
const t = dot
|
|
113
|
+
const centeredUV = uv$1.sub(midpoint);
|
|
114
|
+
const t = dot(vec2(centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle)), centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle))).add(midpoint).sub(startPos), gradientDir).div(gradientLength.max(1e-6));
|
|
116
115
|
const edgeMode = uniforms.edges.uniform;
|
|
117
|
-
const stretchT = t.clamp(float
|
|
118
|
-
const inBoundsX = t.greaterThanEqual(float
|
|
119
|
-
const inBoundsY = t.lessThanEqual(float
|
|
116
|
+
const stretchT = t.clamp(float(0), float(1));
|
|
117
|
+
const inBoundsX = t.greaterThanEqual(float(0)).select(float(1), float(0));
|
|
118
|
+
const inBoundsY = t.lessThanEqual(float(1)).select(float(1), float(0));
|
|
120
119
|
const inBounds = inBoundsX.mul(inBoundsY);
|
|
121
|
-
const mirrorT = mod(abs
|
|
122
|
-
const finalMirrorT = mirrorT.greaterThan(float
|
|
120
|
+
const mirrorT = mod(abs(t), float(2));
|
|
121
|
+
const finalMirrorT = mirrorT.greaterThan(float(1)).select(float(2).sub(mirrorT), mirrorT);
|
|
123
122
|
const wrapT = fract(t);
|
|
124
|
-
const isMode1OrHigher = edgeMode.greaterThanEqual(float
|
|
125
|
-
const isMode2OrHigher = edgeMode.greaterThanEqual(float
|
|
126
|
-
const finalT = edgeMode.greaterThanEqual(float
|
|
127
|
-
const mixedColor = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, finalT.clamp(float
|
|
128
|
-
const finalAlpha = isMode1OrHigher.and(edgeMode.lessThan(float
|
|
129
|
-
return vec4
|
|
123
|
+
const isMode1OrHigher = edgeMode.greaterThanEqual(float(.5));
|
|
124
|
+
const isMode2OrHigher = edgeMode.greaterThanEqual(float(1.5));
|
|
125
|
+
const finalT = edgeMode.greaterThanEqual(float(2.5)).select(wrapT, isMode2OrHigher.select(finalMirrorT, isMode1OrHigher.select(t, stretchT)));
|
|
126
|
+
const mixedColor = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, finalT.clamp(float(0), float(1)), uniforms.colorSpace.uniform);
|
|
127
|
+
const finalAlpha = isMode1OrHigher.and(edgeMode.lessThan(float(1.5))).select(mixedColor.w.mul(inBounds), mixedColor.w);
|
|
128
|
+
return vec4(mixedColor.x, mixedColor.y, mixedColor.z, finalAlpha);
|
|
130
129
|
}
|
|
131
130
|
};
|
|
132
131
|
var LinearGradient_default = componentDefinition;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
2
|
-
import { a as transformEdges } from "./transformations-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
|
|
2
|
+
import { a as transformEdges } from "./transformations-Dv5JW9ck.js";
|
|
3
3
|
import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
|
|
4
|
-
import
|
|
4
|
+
import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
|
|
5
5
|
var GRID_SIZE = 32;
|
|
6
6
|
var displacementStateCache = /* @__PURE__ */ new WeakMap();
|
|
7
7
|
var getOrCreateDisplacementState = (uniforms) => {
|
|
8
8
|
let state = displacementStateCache.get(uniforms);
|
|
9
9
|
if (!state) {
|
|
10
10
|
const data = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const dataTexture = new DataTexture(data, GRID_SIZE, GRID_SIZE, RGFormat, FloatType);
|
|
12
|
+
dataTexture.magFilter = LinearFilter;
|
|
13
|
+
dataTexture.minFilter = LinearFilter;
|
|
14
|
+
dataTexture.needsUpdate = true;
|
|
15
15
|
state = {
|
|
16
|
-
|
|
16
|
+
dataTexture,
|
|
17
17
|
data,
|
|
18
|
-
tslNode:
|
|
18
|
+
tslNode: texture(dataTexture),
|
|
19
19
|
initialized: false
|
|
20
20
|
};
|
|
21
21
|
displacementStateCache.set(uniforms, state);
|
|
@@ -101,18 +101,16 @@ const componentDefinition = {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
|
-
uvTransformNode: ({ uv, uniforms }) => {
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
return uv.sub(clampedDisplacement);
|
|
104
|
+
uvTransformNode: ({ uv: uv$1, uniforms }) => {
|
|
105
|
+
const displacement = getOrCreateDisplacementState(uniforms).tslNode.sample(uv$1).xy;
|
|
106
|
+
const maxDisplacement = float(.2);
|
|
107
|
+
const clampedDisplacement = displacement.clamp(vec2(maxDisplacement.negate(), maxDisplacement.negate()), vec2(maxDisplacement, maxDisplacement));
|
|
108
|
+
return uv$1.sub(clampedDisplacement);
|
|
110
109
|
},
|
|
111
110
|
fragmentNode: ({ uniforms, onBeforeRender, childNode, onCleanup }) => {
|
|
112
|
-
const {
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
const mouseVelY = uniform$1(0);
|
|
111
|
+
const { dataTexture: displacementTexture, data: displacementData, tslNode: displacementField } = getOrCreateDisplacementState(uniforms);
|
|
112
|
+
const mouseVelX = uniform(0);
|
|
113
|
+
const mouseVelY = uniform(0);
|
|
116
114
|
let prevX = .5;
|
|
117
115
|
let prevY = .5;
|
|
118
116
|
let lastTime = Date.now();
|
|
@@ -158,16 +156,16 @@ const componentDefinition = {
|
|
|
158
156
|
displacementTexture.dispose();
|
|
159
157
|
displacementStateCache.delete(uniforms);
|
|
160
158
|
});
|
|
161
|
-
if (!childNode) return vec4
|
|
162
|
-
const childTexture = convertToTexture
|
|
159
|
+
if (!childNode) return vec4(0, 0, 0, 0);
|
|
160
|
+
const childTexture = convertToTexture(childNode);
|
|
163
161
|
onCleanup(() => {
|
|
164
162
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
165
163
|
});
|
|
166
|
-
const displacement = displacementField.sample(screenUV
|
|
167
|
-
const maxDisplacement = float
|
|
168
|
-
const negMaxDisplacement = float
|
|
169
|
-
const clampedDisplacement = displacement.clamp(vec2
|
|
170
|
-
const distortedUV = screenUV
|
|
164
|
+
const displacement = displacementField.sample(screenUV).xy;
|
|
165
|
+
const maxDisplacement = float(.2);
|
|
166
|
+
const negMaxDisplacement = float(-.2);
|
|
167
|
+
const clampedDisplacement = displacement.clamp(vec2(negMaxDisplacement, negMaxDisplacement), vec2(maxDisplacement, maxDisplacement));
|
|
168
|
+
const distortedUV = screenUV.sub(clampedDisplacement);
|
|
171
169
|
return applyEdgeHandling(distortedUV, childTexture.sample(distortedUV), childTexture, uniforms.edges.uniform);
|
|
172
170
|
}
|
|
173
171
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { convertToTexture, floor, screenUV, vec4 } from "three/tsl";
|
|
2
2
|
const componentDefinition = {
|
|
3
3
|
name: "Pixelate",
|
|
4
4
|
category: "Stylize",
|
|
@@ -16,20 +16,18 @@ const componentDefinition = {
|
|
|
16
16
|
label: "Scale"
|
|
17
17
|
}
|
|
18
18
|
} },
|
|
19
|
-
uvTransformNode: ({ uv, uniforms }) => {
|
|
20
|
-
const { floor } = TSL;
|
|
19
|
+
uvTransformNode: ({ uv: uv$1, uniforms }) => {
|
|
21
20
|
const pixelSize = uniforms.scale.uniform;
|
|
22
|
-
return floor(uv.mul(pixelSize)).div(pixelSize);
|
|
21
|
+
return floor(uv$1.mul(pixelSize)).div(pixelSize);
|
|
23
22
|
},
|
|
24
23
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const childTexture = convertToTexture$1(childNode);
|
|
24
|
+
if (!childNode) return vec4(0, 0, 0, 0);
|
|
25
|
+
const childTexture = convertToTexture(childNode);
|
|
28
26
|
onCleanup(() => {
|
|
29
27
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
30
28
|
});
|
|
31
29
|
const pixelSize = uniforms.scale.uniform;
|
|
32
|
-
const pixelatedUV = floor(screenUV
|
|
30
|
+
const pixelatedUV = floor(screenUV.mul(pixelSize)).div(pixelSize);
|
|
33
31
|
return childTexture.sample(pixelatedUV);
|
|
34
32
|
}
|
|
35
33
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
2
|
-
import { a as transformEdges, o as transformPosition } from "./transformations-
|
|
3
|
-
import
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
|
|
2
|
+
import { a as transformEdges, o as transformPosition } from "./transformations-Dv5JW9ck.js";
|
|
3
|
+
import { PI, atan, convertToTexture, length, mix, screenUV, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
5
5
|
name: "PolarCoordinates",
|
|
6
6
|
category: "Distortions",
|
|
@@ -81,30 +81,28 @@ const componentDefinition = {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
|
-
uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
|
|
85
|
-
const { vec2: vec2$1, length, atan: atan$1, PI, mix: mix$1 } = TSL;
|
|
84
|
+
uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
|
|
86
85
|
const aspect = viewportSize$1.x.div(viewportSize$1.y);
|
|
87
|
-
const aspectCorrectedUV = vec2$1
|
|
88
|
-
const centerPos = vec2
|
|
86
|
+
const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
|
|
87
|
+
const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
|
|
89
88
|
const delta = aspectCorrectedUV.sub(centerPos);
|
|
90
|
-
const normalizedAngle = atan
|
|
89
|
+
const normalizedAngle = atan(delta.y, delta.x).add(PI).div(PI.mul(2));
|
|
91
90
|
const r = length(delta);
|
|
92
|
-
return mix$1
|
|
91
|
+
return mix(uv$1, vec2(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
|
|
93
92
|
},
|
|
94
93
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const childTexture = convertToTexture$1(childNode);
|
|
94
|
+
if (!childNode) return vec4(0, 0, 0, 0);
|
|
95
|
+
const childTexture = convertToTexture(childNode);
|
|
98
96
|
onCleanup(() => {
|
|
99
97
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
100
98
|
});
|
|
101
|
-
const aspect = viewportSize
|
|
102
|
-
const aspectCorrectedUV = vec2
|
|
103
|
-
const centerPos = vec2
|
|
99
|
+
const aspect = viewportSize.x.div(viewportSize.y);
|
|
100
|
+
const aspectCorrectedUV = vec2(screenUV.x.mul(aspect), screenUV.y);
|
|
101
|
+
const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
|
|
104
102
|
const delta = aspectCorrectedUV.sub(centerPos);
|
|
105
|
-
const normalizedAngle = atan
|
|
103
|
+
const normalizedAngle = atan(delta.y, delta.x).add(PI).div(PI.mul(2));
|
|
106
104
|
const r = length(delta);
|
|
107
|
-
const blendedUV = mix
|
|
105
|
+
const blendedUV = mix(screenUV, vec2(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
|
|
108
106
|
return applyEdgeHandling(blendedUV, childTexture.sample(blendedUV), childTexture, uniforms.edges.uniform);
|
|
109
107
|
}
|
|
110
108
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { posterize } from "three/src/nodes/display/PosterizeNode";
|
|
1
|
+
import { float, floor, vec4 } from "three/tsl";
|
|
3
2
|
const componentDefinition = {
|
|
4
3
|
name: "Posterize",
|
|
5
4
|
category: "Adjustments",
|
|
@@ -17,12 +16,12 @@ const componentDefinition = {
|
|
|
17
16
|
}
|
|
18
17
|
} },
|
|
19
18
|
fragmentNode: ({ uniforms, childNode }) => {
|
|
20
|
-
const { vec4: vec4$1, int } = TSL;
|
|
21
19
|
if (!childNode) {
|
|
22
20
|
console.error("You must pass a child component into the Posterize shader.");
|
|
23
|
-
return vec4
|
|
21
|
+
return vec4(0);
|
|
24
22
|
}
|
|
25
|
-
|
|
23
|
+
const steps = float(uniforms.intensity.uniform);
|
|
24
|
+
return vec4(floor(childNode.r.mul(steps)).div(steps), floor(childNode.g.mul(steps)).div(steps), floor(childNode.b.mul(steps)).div(steps), childNode.a);
|
|
26
25
|
}
|
|
27
26
|
};
|
|
28
27
|
var Posterize_default = componentDefinition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as transformAngle, o as transformPosition } from "./transformations-
|
|
2
|
-
import
|
|
1
|
+
import { n as transformAngle, o as transformPosition } from "./transformations-Dv5JW9ck.js";
|
|
2
|
+
import { Fn, convertToTexture, cos, float, max, radians, screenUV, sin, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
|
|
3
3
|
const componentDefinition = {
|
|
4
4
|
name: "ProgressiveBlur",
|
|
5
5
|
category: "Blurs",
|
|
@@ -55,19 +55,18 @@ const componentDefinition = {
|
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const childTexture = convertToTexture$1(childNode);
|
|
58
|
+
if (!childNode) return vec4(0, 0, 0, 0);
|
|
59
|
+
const childTexture = convertToTexture(childNode);
|
|
61
60
|
onCleanup(() => {
|
|
62
61
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
63
62
|
});
|
|
64
63
|
const angleRad = radians(uniforms.angle.uniform);
|
|
65
|
-
const direction = vec2
|
|
66
|
-
const centerPosition = vec2
|
|
67
|
-
const centeredUV = screenUV
|
|
68
|
-
const directionalDist = max
|
|
69
|
-
const falloff = max
|
|
70
|
-
const blurAmount = smoothstep(float
|
|
64
|
+
const direction = vec2(cos(angleRad), sin(angleRad));
|
|
65
|
+
const centerPosition = vec2(uniforms.center.uniform[0], uniforms.center.uniform[1].oneMinus());
|
|
66
|
+
const centeredUV = screenUV.sub(centerPosition);
|
|
67
|
+
const directionalDist = max(float(0), centeredUV.dot(direction));
|
|
68
|
+
const falloff = max(float(.001), uniforms.falloff.uniform);
|
|
69
|
+
const blurAmount = smoothstep(float(0), falloff, directionalDist);
|
|
71
70
|
const scaledIntensity = uniforms.intensity.uniform.mul(.06);
|
|
72
71
|
const blurRadius = blurAmount.mul(scaledIntensity);
|
|
73
72
|
const weights = [
|
|
@@ -86,14 +85,14 @@ const componentDefinition = {
|
|
|
86
85
|
.056
|
|
87
86
|
];
|
|
88
87
|
const weightSum = 6.214;
|
|
89
|
-
const horizontalTexture = convertToTexture
|
|
90
|
-
const uv = screenUV
|
|
91
|
-
const pixelSize = vec2
|
|
92
|
-
const total = vec4
|
|
88
|
+
const horizontalTexture = convertToTexture(Fn(() => {
|
|
89
|
+
const uv$1 = screenUV;
|
|
90
|
+
const pixelSize = vec2(1).div(viewportSize);
|
|
91
|
+
const total = vec4(0).toVar();
|
|
93
92
|
for (let x = -6; x <= 6; x++) {
|
|
94
|
-
const weight = float
|
|
95
|
-
const offset = vec2
|
|
96
|
-
const sampleCoord = uv.add(offset);
|
|
93
|
+
const weight = float(weights[x + 6] / weightSum);
|
|
94
|
+
const offset = vec2(float(x), float(0)).mul(blurRadius).mul(pixelSize);
|
|
95
|
+
const sampleCoord = uv$1.add(offset);
|
|
97
96
|
const sample = childTexture.sample(sampleCoord).mul(weight);
|
|
98
97
|
total.assign(total.add(sample));
|
|
99
98
|
}
|
|
@@ -103,13 +102,13 @@ const componentDefinition = {
|
|
|
103
102
|
if (horizontalTexture?.renderTarget?.dispose) horizontalTexture.renderTarget.dispose();
|
|
104
103
|
});
|
|
105
104
|
return Fn(() => {
|
|
106
|
-
const uv = screenUV
|
|
107
|
-
const pixelSize = vec2
|
|
108
|
-
const total = vec4
|
|
105
|
+
const uv$1 = screenUV;
|
|
106
|
+
const pixelSize = vec2(1).div(viewportSize);
|
|
107
|
+
const total = vec4(0).toVar();
|
|
109
108
|
for (let y = -6; y <= 6; y++) {
|
|
110
|
-
const weight = float
|
|
111
|
-
const offset = vec2
|
|
112
|
-
const sampleCoord = uv.add(offset);
|
|
109
|
+
const weight = float(weights[y + 6] / weightSum);
|
|
110
|
+
const offset = vec2(float(0), float(y)).mul(blurRadius).mul(pixelSize);
|
|
111
|
+
const sampleCoord = uv$1.add(offset);
|
|
113
112
|
const sample = horizontalTexture.sample(sampleCoord).mul(weight);
|
|
114
113
|
total.assign(total.add(sample));
|
|
115
114
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as transformColorSpace, o as transformPosition, r as transformColor, t as colorSpaceOptions } from "./transformations-
|
|
2
|
-
import { t as mixColors } from "./colorMixing-
|
|
3
|
-
import
|
|
1
|
+
import { i as transformColorSpace, o as transformPosition, r as transformColor, t as colorSpaceOptions } from "./transformations-Dv5JW9ck.js";
|
|
2
|
+
import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
|
|
3
|
+
import { distance, float, screenUV, vec2, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
5
5
|
name: "RadialGradient",
|
|
6
6
|
category: "Base Layers",
|
|
@@ -60,10 +60,9 @@ const componentDefinition = {
|
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
fragmentNode: ({ uniforms, uvContext }) => {
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
const t = distance(vec2$1(uv.x.mul(aspect), uv.y), vec2$1(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus())).div(uniforms.radius.uniform).clamp(float$1(0), float$1(1));
|
|
63
|
+
const uv$1 = uvContext ?? screenUV;
|
|
64
|
+
const aspect = viewportSize.x.div(viewportSize.y);
|
|
65
|
+
const t = distance(vec2(uv$1.x.mul(aspect), uv$1.y), vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus())).div(uniforms.radius.uniform).clamp(float(0), float(1));
|
|
67
66
|
return mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, t, uniforms.colorSpace.uniform);
|
|
68
67
|
}
|
|
69
68
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
2
|
-
import { a as transformEdges, o as transformPosition } from "./transformations-
|
|
3
|
-
import
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Djr_12SL.js";
|
|
2
|
+
import { a as transformEdges, o as transformPosition } from "./transformations-Dv5JW9ck.js";
|
|
3
|
+
import { PI, convertToTexture, cos, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
5
5
|
name: "RectangularCoordinates",
|
|
6
6
|
category: "Distortions",
|
|
@@ -70,30 +70,28 @@ const componentDefinition = {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
|
-
uvTransformNode: ({ uv, uniforms, viewportSize: viewportSize$1 }) => {
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const rectY = r.mul(sin$1(theta));
|
|
73
|
+
uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
|
|
74
|
+
const theta = uv$1.x.mul(PI.mul(2)).sub(PI);
|
|
75
|
+
const r = uv$1.y.mul(uniforms.scale.uniform);
|
|
76
|
+
const rectX = r.mul(cos(theta));
|
|
77
|
+
const rectY = r.mul(sin(theta));
|
|
79
78
|
const aspect = viewportSize$1.x.div(viewportSize$1.y);
|
|
80
|
-
const centerPos = vec2
|
|
81
|
-
return mix$1
|
|
79
|
+
const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
|
|
80
|
+
return mix(uv$1, vec2(rectX.div(aspect).add(centerPos.x), rectY.add(centerPos.y)), uniforms.intensity.uniform);
|
|
82
81
|
},
|
|
83
82
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const childTexture = convertToTexture$1(childNode);
|
|
83
|
+
if (!childNode) return vec4(0, 0, 0, 0);
|
|
84
|
+
const childTexture = convertToTexture(childNode);
|
|
87
85
|
onCleanup(() => {
|
|
88
86
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
89
87
|
});
|
|
90
|
-
const theta = screenUV
|
|
91
|
-
const r = screenUV
|
|
92
|
-
const rectX = r.mul(cos
|
|
93
|
-
const rectY = r.mul(sin
|
|
94
|
-
const aspect = viewportSize
|
|
95
|
-
const centerPos = vec2
|
|
96
|
-
const blendedUV = mix
|
|
88
|
+
const theta = screenUV.x.mul(PI.mul(2)).sub(PI);
|
|
89
|
+
const r = screenUV.y.mul(uniforms.scale.uniform);
|
|
90
|
+
const rectX = r.mul(cos(theta));
|
|
91
|
+
const rectY = r.mul(sin(theta));
|
|
92
|
+
const aspect = viewportSize.x.div(viewportSize.y);
|
|
93
|
+
const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
|
|
94
|
+
const blendedUV = mix(screenUV, vec2(rectX.div(aspect).add(centerPos.x), rectY.add(centerPos.y)), uniforms.intensity.uniform);
|
|
97
95
|
return applyEdgeHandling(blendedUV, childTexture.sample(blendedUV), childTexture, uniforms.edges.uniform);
|
|
98
96
|
}
|
|
99
97
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as createAnimatedTime } from "./time-CTJvRUZ4.js";
|
|
2
|
-
import { o as transformPosition, r as transformColor } from "./transformations-
|
|
3
|
-
import { t as mixColors } from "./colorMixing-
|
|
4
|
-
import
|
|
2
|
+
import { o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
|
|
3
|
+
import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
|
|
4
|
+
import { distance, float, screenUV, sin, smoothstep, vec2, viewportSize } from "three/tsl";
|
|
5
5
|
const componentDefinition = {
|
|
6
6
|
name: "Ripples",
|
|
7
7
|
category: "Base Layers",
|
|
@@ -96,8 +96,7 @@ const componentDefinition = {
|
|
|
96
96
|
},
|
|
97
97
|
fragmentNode: (params) => {
|
|
98
98
|
const { uniforms, uvContext } = params;
|
|
99
|
-
const
|
|
100
|
-
const uv = uvContext ?? screenUV$1;
|
|
99
|
+
const uv$1 = uvContext ?? screenUV;
|
|
101
100
|
const center = uniforms.center.uniform;
|
|
102
101
|
const colorA = uniforms.colorA.uniform;
|
|
103
102
|
const colorB = uniforms.colorB.uniform;
|
|
@@ -105,12 +104,12 @@ const componentDefinition = {
|
|
|
105
104
|
const softness = uniforms.softness.uniform;
|
|
106
105
|
const thickness = uniforms.thickness.uniform;
|
|
107
106
|
const phase = uniforms.phase.uniform;
|
|
108
|
-
const aspect = viewportSize
|
|
109
|
-
const dist = distance(vec2$1
|
|
107
|
+
const aspect = viewportSize.x.div(viewportSize.y);
|
|
108
|
+
const dist = distance(vec2(uv$1.x.mul(aspect), uv$1.y), vec2(center.x.mul(aspect), center.y.oneMinus()));
|
|
110
109
|
const animTime = createAnimatedTime(params, uniforms.speed);
|
|
111
|
-
const baseWave = sin
|
|
112
|
-
const thicknessThreshold = thickness.mul(float
|
|
113
|
-
return mixColors(colorB, colorA, smoothstep(thicknessThreshold.add(softness), thicknessThreshold.sub(softness), baseWave),
|
|
110
|
+
const baseWave = sin(dist.mul(frequency).sub(animTime).add(phase));
|
|
111
|
+
const thicknessThreshold = thickness.mul(float(2)).sub(float(1));
|
|
112
|
+
return mixColors(colorB, colorA, smoothstep(thicknessThreshold.add(softness), thicknessThreshold.sub(softness), baseWave), float(0));
|
|
114
113
|
}
|
|
115
114
|
};
|
|
116
115
|
var Ripples_default = componentDefinition;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { saturation } from "three/src/nodes/display/ColorAdjustment";
|
|
1
|
+
import { dot, mix, vec3, vec4 } from "three/tsl";
|
|
3
2
|
const componentDefinition = {
|
|
4
3
|
name: "Saturation",
|
|
5
4
|
category: "Adjustments",
|
|
@@ -17,13 +16,12 @@ const componentDefinition = {
|
|
|
17
16
|
}
|
|
18
17
|
} },
|
|
19
18
|
fragmentNode: ({ uniforms, childNode }) => {
|
|
20
|
-
const { vec4: vec4$1 } = TSL;
|
|
21
19
|
if (!childNode) {
|
|
22
20
|
console.error("You must pass a child component into the Saturation shader.");
|
|
23
|
-
return vec4
|
|
21
|
+
return vec4(0);
|
|
24
22
|
}
|
|
25
|
-
const
|
|
26
|
-
return vec4
|
|
23
|
+
const luminance = dot(childNode.rgb, vec3(.2126, .7152, .0722));
|
|
24
|
+
return vec4(mix(vec3(luminance, luminance, luminance), childNode.rgb, uniforms.intensity.uniform), childNode.a);
|
|
27
25
|
}
|
|
28
26
|
};
|
|
29
27
|
var Saturation_default = componentDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as createAnimatedTime } from "./time-CTJvRUZ4.js";
|
|
2
|
-
import { r as transformColor } from "./transformations-
|
|
3
|
-
import { t as mixColors } from "./colorMixing-
|
|
2
|
+
import { r as transformColor } from "./transformations-Dv5JW9ck.js";
|
|
3
|
+
import { t as mixColors } from "./colorMixing-CZPFmiT4.js";
|
|
4
4
|
import { clamp, exp, float, mx_noise_float, screenUV, vec2, vec3, viewportSize } from "three/tsl";
|
|
5
5
|
const componentDefinition = {
|
|
6
6
|
name: "SimplexNoise",
|
|
@@ -84,9 +84,9 @@ const componentDefinition = {
|
|
|
84
84
|
},
|
|
85
85
|
fragmentNode: (params) => {
|
|
86
86
|
const { uniforms, uvContext } = params;
|
|
87
|
-
const uv = uvContext ?? screenUV;
|
|
87
|
+
const uv$1 = uvContext ?? screenUV;
|
|
88
88
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
89
|
-
const aspectCorrectedUV = vec2(uv.x.mul(aspect), uv.y);
|
|
89
|
+
const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
|
|
90
90
|
const animTime = createAnimatedTime(params, uniforms.speed);
|
|
91
91
|
const pos = aspectCorrectedUV.mul(exp(uniforms.scale.uniform)).add(uniforms.seed.uniform);
|
|
92
92
|
const noise = mx_noise_float(vec3(pos.x, pos.y, animTime.mul(.5)));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as transformAngle, o as transformPosition, r as transformColor } from "./transformations-
|
|
2
|
-
import
|
|
1
|
+
import { n as transformAngle, o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
|
|
2
|
+
import { PI, abs, cos, radians, screenUV, sin, smoothstep, time, vec2, vec4, viewportSize } from "three/tsl";
|
|
3
3
|
const componentDefinition = {
|
|
4
4
|
name: "SineWave",
|
|
5
5
|
category: "Base Layers",
|
|
@@ -96,24 +96,23 @@ const componentDefinition = {
|
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
fragmentNode: ({ uniforms, uvContext }) => {
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
const
|
|
102
|
-
const
|
|
103
|
-
const centerPos = vec2$1(uniforms.position.uniform.x.mul(aspect), uniforms.position.uniform.y.oneMinus());
|
|
99
|
+
const uv$1 = uvContext ?? screenUV;
|
|
100
|
+
const aspect = viewportSize.x.div(viewportSize.y);
|
|
101
|
+
const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
|
|
102
|
+
const centerPos = vec2(uniforms.position.uniform.x.mul(aspect), uniforms.position.uniform.y.oneMinus());
|
|
104
103
|
const centeredUV = aspectCorrectedUV.sub(centerPos);
|
|
105
104
|
const angleRad = radians(uniforms.angle.uniform);
|
|
106
|
-
const cosAngle = cos
|
|
107
|
-
const sinAngle = sin
|
|
105
|
+
const cosAngle = cos(angleRad);
|
|
106
|
+
const sinAngle = sin(angleRad);
|
|
108
107
|
const rotatedX = centeredUV.x.mul(cosAngle).sub(centeredUV.y.mul(sinAngle));
|
|
109
108
|
const rotatedY = centeredUV.x.mul(sinAngle).add(centeredUV.y.mul(cosAngle));
|
|
110
109
|
const animatedTime = time.mul(uniforms.speed.uniform);
|
|
111
|
-
const sineWave = sin
|
|
112
|
-
const distanceFromWave = abs
|
|
110
|
+
const sineWave = sin(rotatedX.mul(uniforms.frequency.uniform).mul(PI.mul(2)).add(animatedTime)).mul(uniforms.amplitude.uniform);
|
|
111
|
+
const distanceFromWave = abs(rotatedY.sub(sineWave));
|
|
113
112
|
const halfThickness = uniforms.thickness.uniform.mul(.5);
|
|
114
113
|
const halfSoftness = uniforms.softness.uniform.mul(.5);
|
|
115
114
|
const waveMask = smoothstep(halfThickness.add(halfSoftness), halfThickness.sub(halfSoftness), distanceFromWave);
|
|
116
|
-
return vec4
|
|
115
|
+
return vec4(uniforms.color.uniform.rgb, uniforms.color.uniform.a.mul(waveMask));
|
|
117
116
|
}
|
|
118
117
|
};
|
|
119
118
|
var SineWave_default = componentDefinition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as transformPosition, r as transformColor } from "./transformations-
|
|
2
|
-
import
|
|
1
|
+
import { o as transformPosition, r as transformColor } from "./transformations-Dv5JW9ck.js";
|
|
2
|
+
import { convertToTexture, dot, float, max, normalize, pow, screenUV, smoothstep, sqrt, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
3
3
|
const componentDefinition = {
|
|
4
4
|
name: "Spherize",
|
|
5
5
|
category: "Distortions",
|
|
@@ -86,42 +86,41 @@ const componentDefinition = {
|
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const childTexture = convertToTexture$1(childNode);
|
|
89
|
+
if (!childNode) return vec4(0, 0, 0, 0);
|
|
90
|
+
const childTexture = convertToTexture(childNode);
|
|
92
91
|
onCleanup(() => {
|
|
93
92
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
94
93
|
});
|
|
95
|
-
const uv = screenUV
|
|
96
|
-
const aspect = viewportSize
|
|
97
|
-
const centerPos = vec2
|
|
94
|
+
const uv$1 = screenUV;
|
|
95
|
+
const aspect = viewportSize.x.div(viewportSize.y);
|
|
96
|
+
const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
|
|
98
97
|
const radius = uniforms.radius.uniform;
|
|
99
|
-
const sphereUV = vec2$1
|
|
98
|
+
const sphereUV = vec2(uv$1.x.sub(centerPos.x).mul(aspect), uv$1.y.sub(centerPos.y)).mul(2).div(radius);
|
|
100
99
|
const radiusSq = sphereUV.x.mul(sphereUV.x).add(sphereUV.y.mul(sphereUV.y));
|
|
101
|
-
const sphereAlpha = float
|
|
102
|
-
const z = sqrt
|
|
103
|
-
const depthFactor = float
|
|
100
|
+
const sphereAlpha = float(1).sub(smoothstep(float(.98), float(1), radiusSq));
|
|
101
|
+
const z = sqrt(max(float(0), float(1).sub(radiusSq)));
|
|
102
|
+
const depthFactor = float(1).add(z.mul(uniforms.depth.uniform));
|
|
104
103
|
const finalUV = sphereUV.div(depthFactor).mul(radius).div(2);
|
|
105
|
-
const transformedUV = vec2
|
|
104
|
+
const transformedUV = vec2(finalUV.x.div(aspect).add(centerPos.x), finalUV.y.add(centerPos.y));
|
|
106
105
|
const sampledColor = childTexture.sample(transformedUV);
|
|
107
|
-
const lightPos = vec2
|
|
106
|
+
const lightPos = vec2(uniforms.lightPosition.uniform.x, uniforms.lightPosition.uniform.y.oneMinus());
|
|
108
107
|
const lightIntensity = uniforms.lightIntensity.uniform;
|
|
109
108
|
const lightSoftness = uniforms.lightSoftness.uniform;
|
|
110
|
-
const lightColor = vec3
|
|
111
|
-
const normal = normalize(vec3
|
|
112
|
-
const viewDir = vec3
|
|
113
|
-
const fresnelPower = float
|
|
114
|
-
const fresnel = pow
|
|
115
|
-
const lightDir2D = vec2
|
|
116
|
-
const normalDir = normalize(vec2
|
|
117
|
-
const lightDirNorm = normalize(lightDir2D.add(vec2
|
|
118
|
-
const directionalBias = pow
|
|
119
|
-
const rimLight = fresnel.mul(directionalBias).mul(lightIntensity).mul(float
|
|
109
|
+
const lightColor = vec3(uniforms.lightColor.uniform.x, uniforms.lightColor.uniform.y, uniforms.lightColor.uniform.z);
|
|
110
|
+
const normal = normalize(vec3(sphereUV.x, sphereUV.y, z));
|
|
111
|
+
const viewDir = vec3(0, 0, 1);
|
|
112
|
+
const fresnelPower = float(1).add(float(4).mul(float(1).sub(lightSoftness)));
|
|
113
|
+
const fresnel = pow(float(1).sub(max(dot(normal, viewDir), float(0))), fresnelPower);
|
|
114
|
+
const lightDir2D = vec2(lightPos.x.sub(float(.5)).mul(2), lightPos.y.sub(float(.5)).mul(2));
|
|
115
|
+
const normalDir = normalize(vec2(normal.x, normal.y).add(vec2(1e-4, 1e-4)));
|
|
116
|
+
const lightDirNorm = normalize(lightDir2D.add(vec2(1e-4, 1e-4)));
|
|
117
|
+
const directionalBias = pow(max(float(0), dot(normalDir, lightDirNorm)), float(2));
|
|
118
|
+
const rimLight = fresnel.mul(directionalBias).mul(lightIntensity).mul(float(2));
|
|
120
119
|
const finalR = sampledColor.x.add(lightColor.x.mul(rimLight));
|
|
121
120
|
const finalG = sampledColor.y.add(lightColor.y.mul(rimLight));
|
|
122
121
|
const finalB = sampledColor.z.add(lightColor.z.mul(rimLight));
|
|
123
122
|
const finalA = sampledColor.w.mul(sphereAlpha);
|
|
124
|
-
return vec4
|
|
123
|
+
return vec4(finalR.mul(finalA), finalG.mul(finalA), finalB.mul(finalA), finalA);
|
|
125
124
|
}
|
|
126
125
|
};
|
|
127
126
|
var Spherize_default = componentDefinition;
|