shaders 2.2.30 → 2.2.32
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/{Beam-DCaOPIk_.js → Beam-CbG4MkLo.js} +2 -3
- package/dist/core/{Blob-8YqXuE5v.js → Blob-C_fYRjJF.js} +2 -3
- package/dist/core/{Bulge-D9mLn8-p.js → Bulge-C8-_hIFp.js} +1 -20
- package/dist/core/{Checkerboard-DjrQsDvl.js → Checkerboard-D_H3XYbF.js} +2 -3
- package/dist/core/{Circle-BSAdYHYZ.js → Circle-DI0gXpyD.js} +2 -3
- package/dist/core/{DiffuseBlur-B-QHWSjt.js → DiffuseBlur-Cg7AsB3W.js} +1 -12
- package/dist/core/{DotGrid-BJyEY7YH.js → DotGrid-B2DXsjFE.js} +2 -3
- package/dist/core/{FilmGrain-osBGk_b9.js → FilmGrain-CY4ZO9UI.js} +2 -3
- package/dist/core/{FloatingParticles-Ct7GMVzZ.js → FloatingParticles-BduIDXKd.js} +2 -3
- package/dist/core/GlassTiles-BaAwsNxl.js +84 -0
- package/dist/core/{Godrays-fJIUiGke.js → Godrays-ChqiT2zn.js} +2 -3
- package/dist/core/{Grid-o_nFs0CE.js → Grid-DazyiX15.js} +2 -3
- package/dist/core/{GridDistortion-xuUXyMGP.js → GridDistortion-CYQUwuXw.js} +1 -1
- package/dist/core/{ImageTexture-D9OMwqAs.js → ImageTexture-D0xwHmkW.js} +2 -3
- package/dist/core/{LinearGradient-DN_FYXL2.js → LinearGradient-B6ySxWpU.js} +2 -3
- package/dist/core/{Liquify-Qm_y-apj.js → Liquify-yoKWSK0F.js} +1 -7
- package/dist/core/{Pixelate-_pyYeLRP.js → Pixelate-BmE_Zryn.js} +0 -4
- package/dist/core/{PolarCoordinates-DfjOpgDQ.js → PolarCoordinates-PLyS00-P.js} +1 -10
- package/dist/core/{RadialGradient-DGmfTA60.js → RadialGradient-pwKyDUBu.js} +2 -3
- package/dist/core/{RectangularCoordinates-TM8tkEBk.js → RectangularCoordinates-Dq2JrmOX.js} +1 -10
- package/dist/core/{Ripples-D60vIa8s.js → Ripples-Ot1rx8kL.js} +2 -3
- package/dist/core/{SimplexNoise-CI-FEJ6v.js → SimplexNoise-BfilWh05.js} +2 -3
- package/dist/core/{SineWave-CQIQ0oCt.js → SineWave-DRqL-jda.js} +2 -3
- package/dist/core/{SolidColor-CTN8J944.js → SolidColor-B62ZBRlK.js} +0 -1
- package/dist/core/{Spiral-DIzFj8Xi.js → Spiral-Cx7Z8gLc.js} +2 -3
- package/dist/core/{Strands-WwfH6CNO.js → Strands-C9FBVtDe.js} +2 -3
- package/dist/core/{Stretch-DxuMSLMk.js → Stretch-BCpOO3q6.js} +1 -20
- package/dist/core/Swirl-BfD35doJ.js +96 -0
- package/dist/core/{Twirl-DRomCc8u.js → Twirl-EJ3aS_lo.js} +1 -11
- package/dist/core/{WaveDistortion-Btn7OJ4m.js → WaveDistortion-BOWBSWEU.js} +1 -23
- package/dist/core/{edges-Djr_12SL.js → edges-Bd7GP4s2.js} +1 -10
- package/dist/core/index.js +107 -588
- package/dist/core/renderer.d.ts +0 -21
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/core/shaders/Beam/index.d.ts.map +1 -1
- package/dist/core/shaders/Beam/index.js +1 -1
- package/dist/core/shaders/Blob/index.d.ts.map +1 -1
- package/dist/core/shaders/Blob/index.js +1 -1
- package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
- package/dist/core/shaders/Bulge/index.js +2 -2
- package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Checkerboard/index.js +1 -1
- package/dist/core/shaders/Circle/index.d.ts.map +1 -1
- package/dist/core/shaders/Circle/index.js +1 -1
- package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/DiffuseBlur/index.js +2 -2
- package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/DotGrid/index.js +1 -1
- 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 +1 -1
- package/dist/core/shaders/GlassTiles/index.d.ts +18 -4
- package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
- package/dist/core/shaders/GlassTiles/index.js +1 -1
- package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
- package/dist/core/shaders/Godrays/index.js +1 -1
- package/dist/core/shaders/Grid/index.d.ts.map +1 -1
- package/dist/core/shaders/Grid/index.js +1 -1
- package/dist/core/shaders/GridDistortion/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/LinearGradient/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearGradient/index.js +1 -1
- package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
- package/dist/core/shaders/Liquify/index.js +2 -2
- 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 +2 -2
- package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
- package/dist/core/shaders/RadialGradient/index.js +1 -1
- package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
- package/dist/core/shaders/RectangularCoordinates/index.js +2 -2
- package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
- package/dist/core/shaders/Ripples/index.js +1 -1
- package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/SimplexNoise/index.js +1 -1
- package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
- package/dist/core/shaders/SineWave/index.js +1 -1
- package/dist/core/shaders/SolidColor/index.d.ts.map +1 -1
- package/dist/core/shaders/SolidColor/index.js +1 -1
- package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
- package/dist/core/shaders/Spiral/index.js +1 -1
- package/dist/core/shaders/Strands/index.d.ts.map +1 -1
- package/dist/core/shaders/Strands/index.js +1 -1
- package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
- package/dist/core/shaders/Stretch/index.js +2 -2
- package/dist/core/shaders/Swirl/index.d.ts +1 -43
- package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
- package/dist/core/shaders/Swirl/index.js +1 -1
- package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
- package/dist/core/shaders/Twirl/index.js +2 -2
- package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
- package/dist/core/shaders/WaveDistortion/index.js +2 -2
- package/dist/core/types.d.ts +0 -81
- package/dist/core/types.d.ts.map +1 -1
- package/dist/react/{generatePresetCode-CCibXbtZ.js → generatePresetCode-Ci4D5lDy.js} +41 -12
- package/dist/react/index.js +1 -1
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +1 -1
- package/dist/react/utils/generatePresetCode.template.d.ts.map +1 -1
- package/dist/registry.js +60 -167
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +56 -10
- package/dist/solid/utils/generatePresetCode.template.d.ts.map +1 -1
- package/dist/svelte/{generatePresetCode-CymgoDq_.js → generatePresetCode-hILbcEw8.js} +41 -12
- package/dist/svelte/index.js +1 -1
- package/dist/svelte/utils/generatePresetCode.js +1 -1
- package/dist/vue/{generatePresetCode-CRJmU8iF.js → generatePresetCode-DfkHaBG4.js} +36 -12
- package/dist/vue/index.js +5 -9
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +1 -1
- package/dist/vue/utils/generatePresetCode.template.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/GlassTiles-CA90XrNT.js +0 -67
- package/dist/core/Swirl-SrhhoVBs.js +0 -172
|
@@ -5,7 +5,6 @@ const componentDefinition = {
|
|
|
5
5
|
name: "Beam",
|
|
6
6
|
category: "Base Layers",
|
|
7
7
|
description: "A beam of light from one point to another.",
|
|
8
|
-
acceptsUVContext: true,
|
|
9
8
|
props: {
|
|
10
9
|
startPosition: {
|
|
11
10
|
default: {
|
|
@@ -104,8 +103,8 @@ const componentDefinition = {
|
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
105
|
},
|
|
107
|
-
fragmentNode: ({ uniforms
|
|
108
|
-
const baseUV =
|
|
106
|
+
fragmentNode: ({ uniforms }) => {
|
|
107
|
+
const baseUV = screenUV;
|
|
109
108
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
110
109
|
const startPos = vec2(uniforms.startPosition.uniform.x, uniforms.startPosition.uniform.y.oneMinus());
|
|
111
110
|
const endPos = vec2(uniforms.endPosition.uniform.x, uniforms.endPosition.uniform.y.oneMinus());
|
|
@@ -6,7 +6,6 @@ const componentDefinition = {
|
|
|
6
6
|
name: "Blob",
|
|
7
7
|
category: "Base Layers",
|
|
8
8
|
description: "Organic animated blob with 3D lighting and gradients",
|
|
9
|
-
acceptsUVContext: true,
|
|
10
9
|
props: {
|
|
11
10
|
colorA: {
|
|
12
11
|
default: "#ff6b35",
|
|
@@ -158,8 +157,8 @@ const componentDefinition = {
|
|
|
158
157
|
}
|
|
159
158
|
},
|
|
160
159
|
fragmentNode: (params) => {
|
|
161
|
-
const { uniforms
|
|
162
|
-
const baseUV =
|
|
160
|
+
const { uniforms } = params;
|
|
161
|
+
const baseUV = screenUV;
|
|
163
162
|
const animTime = createAnimatedTime(params, uniforms.speed, uniforms.seed);
|
|
164
163
|
const colorA = uniforms.colorA.uniform;
|
|
165
164
|
const colorB = uniforms.colorB.uniform;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { convertToTexture, float, length, max, screenUV, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
@@ -81,25 +81,6 @@ const componentDefinition = {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
|
-
uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
|
|
85
|
-
const aspect = viewportSize$1.x.div(viewportSize$1.y);
|
|
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());
|
|
88
|
-
const delta = aspectCorrectedUV.sub(centerPos);
|
|
89
|
-
const distance$1 = length(delta);
|
|
90
|
-
const effectRadius = uniforms.radius.uniform.mul(.5);
|
|
91
|
-
const falloffAmount = uniforms.falloff.uniform;
|
|
92
|
-
const smoothFalloff = smoothstep(effectRadius.mul(float(1).sub(falloffAmount).sub(float(.001)).max(float(0))), effectRadius, distance$1).oneMinus();
|
|
93
|
-
const normalizedDist = distance$1.div(effectRadius);
|
|
94
|
-
const distSq = normalizedDist.mul(normalizedDist);
|
|
95
|
-
const quadraticFalloff = max(float(0), float(1).sub(distSq));
|
|
96
|
-
const falloff = smoothFalloff.mul(quadraticFalloff);
|
|
97
|
-
const displacementAmount = uniforms.strength.uniform.negate().mul(falloff);
|
|
98
|
-
const scaleFactor = float(1).add(displacementAmount);
|
|
99
|
-
const bulgedDelta = delta.mul(scaleFactor);
|
|
100
|
-
const bulgedUV = centerPos.add(bulgedDelta);
|
|
101
|
-
return vec2(bulgedUV.x.div(aspect), bulgedUV.y);
|
|
102
|
-
},
|
|
103
84
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
104
85
|
if (!childNode) return vec4(0, 0, 0, 0);
|
|
105
86
|
const childTexture = convertToTexture(childNode);
|
|
@@ -5,7 +5,6 @@ const componentDefinition = {
|
|
|
5
5
|
name: "Checkerboard",
|
|
6
6
|
category: "Base Layers",
|
|
7
7
|
description: "Classic checkerboard pattern with two alternating colors",
|
|
8
|
-
acceptsUVContext: true,
|
|
9
8
|
props: {
|
|
10
9
|
colorA: {
|
|
11
10
|
default: "#cccccc",
|
|
@@ -58,8 +57,8 @@ const componentDefinition = {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
},
|
|
61
|
-
fragmentNode: ({ uniforms
|
|
62
|
-
const uv$1 =
|
|
60
|
+
fragmentNode: ({ uniforms }) => {
|
|
61
|
+
const uv$1 = screenUV;
|
|
63
62
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
64
63
|
const correctedUV = vec2(uv$1.x.mul(aspect), uv$1.y.oneMinus());
|
|
65
64
|
const cells = uniforms.cells.uniform;
|
|
@@ -4,7 +4,6 @@ const componentDefinition = {
|
|
|
4
4
|
name: "Circle",
|
|
5
5
|
category: "Base Layers",
|
|
6
6
|
description: "Generate a circle with adjustable size and softness",
|
|
7
|
-
acceptsUVContext: true,
|
|
8
7
|
props: {
|
|
9
8
|
color: {
|
|
10
9
|
default: "#ffffff",
|
|
@@ -50,8 +49,8 @@ const componentDefinition = {
|
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
51
|
},
|
|
53
|
-
fragmentNode: ({ uniforms
|
|
54
|
-
const uv$1 =
|
|
52
|
+
fragmentNode: ({ uniforms }) => {
|
|
53
|
+
const uv$1 = screenUV;
|
|
55
54
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
56
55
|
const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
|
|
57
56
|
const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { convertToTexture, dot, fract, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
@@ -47,17 +47,6 @@ const componentDefinition = {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
-
uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
|
|
51
|
-
const hash = (p) => {
|
|
52
|
-
return fract(sin(dot(p, vec2(12.9898, 78.233).mul(2))).mul(43758.5453));
|
|
53
|
-
};
|
|
54
|
-
const pixelSize = vec2(1).div(viewportSize$1);
|
|
55
|
-
const seed = uv$1.mul(1e3);
|
|
56
|
-
const rand1 = hash(seed);
|
|
57
|
-
const rand2 = hash(seed.add(vec2(73.2, 41.9)));
|
|
58
|
-
const offset = vec2(rand1.mul(2).sub(1), rand2.mul(2).sub(1)).mul(uniforms.intensity.uniform).mul(pixelSize);
|
|
59
|
-
return uv$1.add(offset);
|
|
60
|
-
},
|
|
61
50
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
62
51
|
if (!childNode) return vec4(0, 0, 0, 0);
|
|
63
52
|
const childTexture = convertToTexture(childNode);
|
|
@@ -4,7 +4,6 @@ const componentDefinition = {
|
|
|
4
4
|
name: "DotGrid",
|
|
5
5
|
category: "Base Layers",
|
|
6
6
|
description: "Grid of dots with optional twinkling animation",
|
|
7
|
-
acceptsUVContext: true,
|
|
8
7
|
props: {
|
|
9
8
|
color: {
|
|
10
9
|
default: "#ffffff",
|
|
@@ -49,8 +48,8 @@ const componentDefinition = {
|
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
},
|
|
52
|
-
fragmentNode: ({ uniforms
|
|
53
|
-
const uvCoords =
|
|
51
|
+
fragmentNode: ({ uniforms }) => {
|
|
52
|
+
const uvCoords = screenUV;
|
|
54
53
|
const density = uniforms.density.uniform;
|
|
55
54
|
const dotSize = uniforms.dotSize.uniform;
|
|
56
55
|
const dotColor = uniforms.color.uniform;
|
|
@@ -4,7 +4,6 @@ const componentDefinition = {
|
|
|
4
4
|
category: "Stylize",
|
|
5
5
|
description: "Analog film grain texture overlay",
|
|
6
6
|
requiresChild: true,
|
|
7
|
-
acceptsUVContext: true,
|
|
8
7
|
props: { strength: {
|
|
9
8
|
default: .5,
|
|
10
9
|
description: "Intensity of the film grain noise",
|
|
@@ -16,10 +15,10 @@ const componentDefinition = {
|
|
|
16
15
|
label: "Strength"
|
|
17
16
|
}
|
|
18
17
|
} },
|
|
19
|
-
fragmentNode: ({ uniforms, childNode
|
|
18
|
+
fragmentNode: ({ uniforms, childNode }) => {
|
|
20
19
|
const strength = uniforms.strength.uniform;
|
|
21
20
|
const sourceColor = childNode || vec4(0, 0, 0, 0);
|
|
22
|
-
const grainIntensity = fract(sin(dot(
|
|
21
|
+
const grainIntensity = fract(sin(dot(screenUV, vec2(float(12.9898), float(78.233)).mul(float(2)))).mul(float(43758.5453))).mul(float(2)).sub(float(1)).mul(strength.mul(float(.1)));
|
|
23
22
|
return vec4(sourceColor.rgb.add(grainIntensity), sourceColor.a);
|
|
24
23
|
}
|
|
25
24
|
};
|
|
@@ -24,7 +24,6 @@ const componentDefinition = {
|
|
|
24
24
|
category: "Base Layers",
|
|
25
25
|
description: "Animated floating particles with twinkle effects",
|
|
26
26
|
requiresRTT: false,
|
|
27
|
-
acceptsUVContext: true,
|
|
28
27
|
props: {
|
|
29
28
|
randomness: {
|
|
30
29
|
default: .25,
|
|
@@ -146,8 +145,8 @@ const componentDefinition = {
|
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
},
|
|
149
|
-
fragmentNode: ({ uniforms, childNode
|
|
150
|
-
const baseUV =
|
|
148
|
+
fragmentNode: ({ uniforms, childNode }) => {
|
|
149
|
+
const baseUV = screenUV;
|
|
151
150
|
const renderParticle = Fn(([uv$2]) => {
|
|
152
151
|
const rootUV = floor(uv$2);
|
|
153
152
|
const localPos = fract(uv$2);
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { add, convertToTexture, cos, div, floor, mul, screenUV, sin, sub, uniform, vec2, vec4 } 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: 2,
|
|
11
|
+
description: "The intensity of the glass tiles effect",
|
|
12
|
+
ui: {
|
|
13
|
+
type: "range",
|
|
14
|
+
min: 0,
|
|
15
|
+
max: 10,
|
|
16
|
+
step: .1,
|
|
17
|
+
label: "Intensity"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
tileCount: {
|
|
21
|
+
default: 20,
|
|
22
|
+
description: "Number of tiles across the shortest dimension",
|
|
23
|
+
ui: {
|
|
24
|
+
type: "range",
|
|
25
|
+
min: 5,
|
|
26
|
+
max: 50,
|
|
27
|
+
step: 1,
|
|
28
|
+
label: "Tile Count"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
rotation: {
|
|
32
|
+
default: 0,
|
|
33
|
+
description: "Rotation angle of the tile grid in degrees",
|
|
34
|
+
ui: {
|
|
35
|
+
type: "range",
|
|
36
|
+
min: 0,
|
|
37
|
+
max: 360,
|
|
38
|
+
step: 1,
|
|
39
|
+
label: "Rotation"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
roundness: {
|
|
43
|
+
default: 0,
|
|
44
|
+
description: "Makes tiles more circular instead of square",
|
|
45
|
+
ui: {
|
|
46
|
+
type: "range",
|
|
47
|
+
min: 0,
|
|
48
|
+
max: 1,
|
|
49
|
+
step: .01,
|
|
50
|
+
label: "Roundness"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
fragmentNode: ({ uniforms, childNode, dimensions, onCleanup }) => {
|
|
55
|
+
if (!childNode) {
|
|
56
|
+
console.error("You must pass a child component into the Glass Tiles shader.");
|
|
57
|
+
return vec4(0);
|
|
58
|
+
}
|
|
59
|
+
const texture$1 = convertToTexture(childNode);
|
|
60
|
+
onCleanup(() => {
|
|
61
|
+
if (texture$1?.renderTarget?.dispose) texture$1.renderTarget.dispose();
|
|
62
|
+
});
|
|
63
|
+
const aspectRatioUniform = uniform(dimensions.width / dimensions.height);
|
|
64
|
+
const baseUV = screenUV;
|
|
65
|
+
const intensity = uniforms.intensity.uniform;
|
|
66
|
+
const baseTileCount = uniforms.tileCount.uniform;
|
|
67
|
+
const rotationDegrees = uniforms.rotation.uniform;
|
|
68
|
+
const roundnessAmount = uniforms.roundness.uniform;
|
|
69
|
+
const tileCount = vec2(aspectRatioUniform.greaterThanEqual(1).select(mul(baseTileCount, aspectRatioUniform), baseTileCount), aspectRatioUniform.lessThan(1).select(div(baseTileCount, aspectRatioUniform), baseTileCount));
|
|
70
|
+
const aspectCorrectedUV = vec2(mul(baseUV.x, aspectRatioUniform), baseUV.y);
|
|
71
|
+
const rotationRadians = mul(rotationDegrees, Math.PI / 180);
|
|
72
|
+
const cosAngle = cos(rotationRadians);
|
|
73
|
+
const sinAngle = sin(rotationRadians);
|
|
74
|
+
const centered = sub(aspectCorrectedUV, vec2(mul(.5, aspectRatioUniform), .5));
|
|
75
|
+
const rotatedUV = add(vec2(sub(mul(centered.x, cosAngle), mul(centered.y, sinAngle)), add(mul(centered.x, sinAngle), mul(centered.y, cosAngle))), vec2(mul(.5, aspectRatioUniform), .5));
|
|
76
|
+
const gridUV = vec2(div(rotatedUV.x, aspectRatioUniform), rotatedUV.y);
|
|
77
|
+
const fromCenter = sub(div(sub(gridUV, div(floor(mul(gridUV, tileCount)), tileCount)), div(vec2(1), tileCount)), vec2(.5, .5));
|
|
78
|
+
const clampedRoundness = sub(1, mul(mul(fromCenter.x, fromCenter.x).add(mul(fromCenter.y, fromCenter.y)), mul(roundnessAmount, 4))).max(0);
|
|
79
|
+
const distortedUV = add(baseUV, mul(fromCenter, mul(mul(intensity, .025), clampedRoundness)));
|
|
80
|
+
return vec4(texture$1.sample(distortedUV));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var GlassTiles_default = componentDefinition;
|
|
84
|
+
export { componentDefinition as n, GlassTiles_default as t };
|
|
@@ -5,7 +5,6 @@ const componentDefinition = {
|
|
|
5
5
|
category: "Base Layers",
|
|
6
6
|
description: "Volumetric light rays emanating from a point",
|
|
7
7
|
requiresRTT: false,
|
|
8
|
-
acceptsUVContext: true,
|
|
9
8
|
props: {
|
|
10
9
|
center: {
|
|
11
10
|
default: {
|
|
@@ -82,8 +81,8 @@ const componentDefinition = {
|
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
},
|
|
85
|
-
fragmentNode: ({ uniforms
|
|
86
|
-
const uv$1 =
|
|
84
|
+
fragmentNode: ({ uniforms }) => {
|
|
85
|
+
const uv$1 = screenUV;
|
|
87
86
|
const centerPos = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
|
|
88
87
|
const shapeUV = uv$1.sub(centerPos);
|
|
89
88
|
const valueNoise = Fn(([st]) => {
|
|
@@ -4,7 +4,6 @@ const componentDefinition = {
|
|
|
4
4
|
name: "Grid",
|
|
5
5
|
category: "Base Layers",
|
|
6
6
|
description: "Simple grid lines pattern with adjustable thickness",
|
|
7
|
-
acceptsUVContext: true,
|
|
8
7
|
props: {
|
|
9
8
|
color: {
|
|
10
9
|
default: "#ffffff",
|
|
@@ -38,8 +37,8 @@ const componentDefinition = {
|
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
},
|
|
41
|
-
fragmentNode: ({ uniforms
|
|
42
|
-
const uv$1 =
|
|
40
|
+
fragmentNode: ({ uniforms }) => {
|
|
41
|
+
const uv$1 = screenUV;
|
|
43
42
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
44
43
|
const correctedUV = vec2(uv$1.x.mul(aspect), uv$1.y.oneMinus());
|
|
45
44
|
const cells = uniforms.cells.uniform;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
|
|
4
4
|
import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
|
|
@@ -4,7 +4,6 @@ const componentDefinition = {
|
|
|
4
4
|
name: "ImageTexture",
|
|
5
5
|
category: "Base Layers",
|
|
6
6
|
description: "Display an image with customizable object-fit modes",
|
|
7
|
-
acceptsUVContext: true,
|
|
8
7
|
props: {
|
|
9
8
|
url: {
|
|
10
9
|
default: "https://shaders.com/sample.jpg",
|
|
@@ -54,8 +53,8 @@ const componentDefinition = {
|
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
},
|
|
57
|
-
fragmentNode: ({ uniforms, onCleanup, onBeforeRender
|
|
58
|
-
const baseUV =
|
|
56
|
+
fragmentNode: ({ uniforms, onCleanup, onBeforeRender }) => {
|
|
57
|
+
const baseUV = screenUV;
|
|
59
58
|
const loader = new TextureLoader();
|
|
60
59
|
let currentUrl = "";
|
|
61
60
|
let isLoading = false;
|
|
@@ -5,7 +5,6 @@ const componentDefinition = {
|
|
|
5
5
|
name: "LinearGradient",
|
|
6
6
|
category: "Base Layers",
|
|
7
7
|
description: "Create smooth linear color gradients",
|
|
8
|
-
acceptsUVContext: true,
|
|
9
8
|
props: {
|
|
10
9
|
colorA: {
|
|
11
10
|
default: "#1aff00",
|
|
@@ -99,8 +98,8 @@ const componentDefinition = {
|
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
100
|
},
|
|
102
|
-
fragmentNode: ({ uniforms
|
|
103
|
-
const uv$1 =
|
|
101
|
+
fragmentNode: ({ uniforms }) => {
|
|
102
|
+
const uv$1 = screenUV;
|
|
104
103
|
const startPos = vec2(uniforms.start.uniform[0], uniforms.start.uniform[1].oneMinus());
|
|
105
104
|
const endPos = vec2(uniforms.end.uniform[0], uniforms.end.uniform[1].oneMinus());
|
|
106
105
|
const gradientVector = endPos.sub(startPos);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
|
|
4
4
|
import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
|
|
@@ -101,12 +101,6 @@ const componentDefinition = {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
},
|
|
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);
|
|
109
|
-
},
|
|
110
104
|
fragmentNode: ({ uniforms, onBeforeRender, childNode, onCleanup }) => {
|
|
111
105
|
const { dataTexture: displacementTexture, data: displacementData, tslNode: displacementField } = getOrCreateDisplacementState(uniforms);
|
|
112
106
|
const mouseVelX = uniform(0);
|
|
@@ -16,10 +16,6 @@ const componentDefinition = {
|
|
|
16
16
|
label: "Scale"
|
|
17
17
|
}
|
|
18
18
|
} },
|
|
19
|
-
uvTransformNode: ({ uv: uv$1, uniforms }) => {
|
|
20
|
-
const pixelSize = uniforms.scale.uniform;
|
|
21
|
-
return floor(uv$1.mul(pixelSize)).div(pixelSize);
|
|
22
|
-
},
|
|
23
19
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
24
20
|
if (!childNode) return vec4(0, 0, 0, 0);
|
|
25
21
|
const childTexture = convertToTexture(childNode);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { PI, atan, convertToTexture, length, mix, screenUV, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
@@ -81,15 +81,6 @@ const componentDefinition = {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
|
-
uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
|
|
85
|
-
const aspect = viewportSize$1.x.div(viewportSize$1.y);
|
|
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());
|
|
88
|
-
const delta = aspectCorrectedUV.sub(centerPos);
|
|
89
|
-
const normalizedAngle = atan(delta.y, delta.x).add(PI).div(PI.mul(2));
|
|
90
|
-
const r = length(delta);
|
|
91
|
-
return mix(uv$1, vec2(normalizedAngle.mul(uniforms.wrap.uniform), r.mul(uniforms.radius.uniform)), uniforms.intensity.uniform);
|
|
92
|
-
},
|
|
93
84
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
94
85
|
if (!childNode) return vec4(0, 0, 0, 0);
|
|
95
86
|
const childTexture = convertToTexture(childNode);
|
|
@@ -5,7 +5,6 @@ const componentDefinition = {
|
|
|
5
5
|
name: "RadialGradient",
|
|
6
6
|
category: "Base Layers",
|
|
7
7
|
description: "Radial gradient radiating from a center point",
|
|
8
|
-
acceptsUVContext: true,
|
|
9
8
|
props: {
|
|
10
9
|
colorA: {
|
|
11
10
|
default: "#ff0000",
|
|
@@ -59,8 +58,8 @@ const componentDefinition = {
|
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
},
|
|
62
|
-
fragmentNode: ({ uniforms
|
|
63
|
-
const uv$1 =
|
|
61
|
+
fragmentNode: ({ uniforms }) => {
|
|
62
|
+
const uv$1 = screenUV;
|
|
64
63
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
65
64
|
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));
|
|
66
65
|
return mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, t, uniforms.colorSpace.uniform);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { PI, convertToTexture, cos, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
@@ -70,15 +70,6 @@ const componentDefinition = {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
},
|
|
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));
|
|
78
|
-
const aspect = viewportSize$1.x.div(viewportSize$1.y);
|
|
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);
|
|
81
|
-
},
|
|
82
73
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
83
74
|
if (!childNode) return vec4(0, 0, 0, 0);
|
|
84
75
|
const childTexture = convertToTexture(childNode);
|
|
@@ -6,7 +6,6 @@ const componentDefinition = {
|
|
|
6
6
|
name: "Ripples",
|
|
7
7
|
category: "Base Layers",
|
|
8
8
|
description: "Concentric animated ripples emanating from a point",
|
|
9
|
-
acceptsUVContext: true,
|
|
10
9
|
props: {
|
|
11
10
|
center: {
|
|
12
11
|
default: {
|
|
@@ -95,8 +94,8 @@ const componentDefinition = {
|
|
|
95
94
|
}
|
|
96
95
|
},
|
|
97
96
|
fragmentNode: (params) => {
|
|
98
|
-
const { uniforms
|
|
99
|
-
const uv$1 =
|
|
97
|
+
const { uniforms } = params;
|
|
98
|
+
const uv$1 = screenUV;
|
|
100
99
|
const center = uniforms.center.uniform;
|
|
101
100
|
const colorA = uniforms.colorA.uniform;
|
|
102
101
|
const colorB = uniforms.colorB.uniform;
|
|
@@ -6,7 +6,6 @@ const componentDefinition = {
|
|
|
6
6
|
name: "SimplexNoise",
|
|
7
7
|
category: "Base Layers",
|
|
8
8
|
description: "Organic noise with animated movement",
|
|
9
|
-
acceptsUVContext: true,
|
|
10
9
|
props: {
|
|
11
10
|
colorA: {
|
|
12
11
|
default: "#ffffff",
|
|
@@ -83,8 +82,8 @@ const componentDefinition = {
|
|
|
83
82
|
}
|
|
84
83
|
},
|
|
85
84
|
fragmentNode: (params) => {
|
|
86
|
-
const { uniforms
|
|
87
|
-
const uv$1 =
|
|
85
|
+
const { uniforms } = params;
|
|
86
|
+
const uv$1 = screenUV;
|
|
88
87
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
89
88
|
const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
|
|
90
89
|
const animTime = createAnimatedTime(params, uniforms.speed);
|
|
@@ -4,7 +4,6 @@ const componentDefinition = {
|
|
|
4
4
|
name: "SineWave",
|
|
5
5
|
category: "Base Layers",
|
|
6
6
|
description: "Animated wave with thickness and softness",
|
|
7
|
-
acceptsUVContext: true,
|
|
8
7
|
props: {
|
|
9
8
|
color: {
|
|
10
9
|
default: "#ffffff",
|
|
@@ -95,8 +94,8 @@ const componentDefinition = {
|
|
|
95
94
|
}
|
|
96
95
|
}
|
|
97
96
|
},
|
|
98
|
-
fragmentNode: ({ uniforms
|
|
99
|
-
const uv$1 =
|
|
97
|
+
fragmentNode: ({ uniforms }) => {
|
|
98
|
+
const uv$1 = screenUV;
|
|
100
99
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
101
100
|
const aspectCorrectedUV = vec2(uv$1.x.mul(aspect), uv$1.y);
|
|
102
101
|
const centerPos = vec2(uniforms.position.uniform.x.mul(aspect), uniforms.position.uniform.y.oneMinus());
|
|
@@ -5,7 +5,6 @@ const componentDefinition = {
|
|
|
5
5
|
name: "Spiral",
|
|
6
6
|
category: "Base Layers",
|
|
7
7
|
description: "Rotating spiral pattern with animated movement",
|
|
8
|
-
acceptsUVContext: true,
|
|
9
8
|
props: {
|
|
10
9
|
colorA: {
|
|
11
10
|
default: "#000000",
|
|
@@ -103,8 +102,8 @@ const componentDefinition = {
|
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
104
|
},
|
|
106
|
-
fragmentNode: ({ uniforms
|
|
107
|
-
const baseUV =
|
|
105
|
+
fragmentNode: ({ uniforms }) => {
|
|
106
|
+
const baseUV = screenUV;
|
|
108
107
|
const aspect = viewportSize.x.div(viewportSize.y);
|
|
109
108
|
const aspectCorrectedUV = vec2(baseUV.x.mul(aspect), baseUV.y);
|
|
110
109
|
const centerPos = vec2(uniforms.center.uniform.x.mul(aspect), uniforms.center.uniform.y.oneMinus());
|
|
@@ -7,7 +7,6 @@ const componentDefinition = {
|
|
|
7
7
|
description: "Procedural wavy strands with layered animation",
|
|
8
8
|
requiresRTT: false,
|
|
9
9
|
requiresChild: false,
|
|
10
|
-
acceptsUVContext: true,
|
|
11
10
|
props: {
|
|
12
11
|
speed: {
|
|
13
12
|
default: .5,
|
|
@@ -107,8 +106,8 @@ const componentDefinition = {
|
|
|
107
106
|
}
|
|
108
107
|
},
|
|
109
108
|
fragmentNode: (params) => {
|
|
110
|
-
const { uniforms
|
|
111
|
-
const baseUV =
|
|
109
|
+
const { uniforms } = params;
|
|
110
|
+
const baseUV = screenUV;
|
|
112
111
|
const t = createAnimatedTime(params, uniforms.speed);
|
|
113
112
|
const random = Fn(([time$1]) => {
|
|
114
113
|
return cos(time$1).add(cos(time$1.mul(1.2).add(1.6))).add(cos(time$1.mul(1.4).add(1.5))).div(3);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as applyEdgeHandling } from "./edges-
|
|
1
|
+
import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
|
|
2
2
|
import { o as transformEdges, s as transformPosition } from "./transformations-YbhRK-rd.js";
|
|
3
3
|
import { clamp, convertToTexture, cos, float, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
@@ -81,25 +81,6 @@ const componentDefinition = {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
|
-
uvTransformNode: ({ uv: uv$1, uniforms, viewportSize: viewportSize$1 }) => {
|
|
85
|
-
const aspect = viewportSize$1.x.div(viewportSize$1.y);
|
|
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());
|
|
88
|
-
const delta = aspectCorrectedUV.sub(centerPos);
|
|
89
|
-
const angleRad = uniforms.angle.uniform.mul(Math.PI / 180);
|
|
90
|
-
const directionVector = vec2(cos(angleRad), sin(angleRad));
|
|
91
|
-
const projection = delta.dot(directionVector);
|
|
92
|
-
const perpendicular = delta.sub(directionVector.mul(projection));
|
|
93
|
-
const falloffAmount = uniforms.falloff.uniform;
|
|
94
|
-
const transitionWidth = mix(float(.001), float(75), falloffAmount);
|
|
95
|
-
const effectMask = clamp(projection.div(transitionWidth), float(0), float(1));
|
|
96
|
-
const scaledStrength = uniforms.strength.uniform.mul(float(100));
|
|
97
|
-
const stretchFactor = float(1).add(scaledStrength.mul(effectMask));
|
|
98
|
-
const finalProjection = projection.div(stretchFactor);
|
|
99
|
-
const stretchedDelta = directionVector.mul(finalProjection).add(perpendicular);
|
|
100
|
-
const stretchedUV = centerPos.add(stretchedDelta);
|
|
101
|
-
return vec2(stretchedUV.x.div(aspect), stretchedUV.y);
|
|
102
|
-
},
|
|
103
84
|
fragmentNode: ({ uniforms, childNode, onCleanup }) => {
|
|
104
85
|
if (!childNode) return vec4(0, 0, 0, 0);
|
|
105
86
|
const childTexture = convertToTexture(childNode);
|