shaders 2.5.104 → 2.5.106
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/{Blur-CXXttTb1.js → Blur-Cxx3ZuHi.js} +1 -1
- package/dist/core/{ChannelBlur-gzP71FWd.js → ChannelBlur-Cth0biwG.js} +1 -1
- package/dist/core/Crystal-COGiLVvV.js +402 -0
- package/dist/core/{Emboss-ClQV27Mt.js → Emboss-LU-6cckT.js} +50 -42
- package/dist/core/{Glass-CpcmrDfm.js → Glass-TRSXbuE6.js} +99 -91
- package/dist/core/{Glow-Ft2x2QHL.js → Glow-8bKkyehK.js} +1 -1
- package/dist/core/{Neon-C1JlexhM.js → Neon-CMmGJzPy.js} +72 -61
- package/dist/core/{ProgressiveBlur-Cx6eR7o9.js → ProgressiveBlur-B_z0pZ1V.js} +1 -1
- package/dist/core/{TiltShift-Dh8wc9GG.js → TiltShift-GqDjHvmk.js} +1 -1
- package/dist/core/{computeBlur-C3oX720H.js → computeBlur-DeXZ99YL.js} +30 -21
- package/dist/core/effects/emboss.d.ts.map +1 -1
- package/dist/core/effects/glass.d.ts.map +1 -1
- package/dist/core/effects/neon.d.ts.map +1 -1
- package/dist/core/index.js +40 -15
- package/dist/core/registry.js +11 -11
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/core/{shaderRegistry-CVhdTDhR.js → shaderRegistry-AbMwztl7.js} +9 -9
- package/dist/core/shaders/Blur/index.js +2 -2
- package/dist/core/shaders/ChannelBlur/index.js +2 -2
- package/dist/core/shaders/Crystal/index.d.ts.map +1 -1
- package/dist/core/shaders/Crystal/index.js +1 -1
- package/dist/core/shaders/Emboss/index.js +1 -1
- package/dist/core/shaders/Glass/index.d.ts.map +1 -1
- package/dist/core/shaders/Glass/index.js +2 -2
- package/dist/core/shaders/Glow/index.js +2 -2
- package/dist/core/shaders/Neon/index.js +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.js +2 -2
- package/dist/core/shaders/TiltShift/index.js +2 -2
- package/dist/core/utilities/computeBlur.d.ts +1 -1
- package/dist/core/utilities/computeBlur.d.ts.map +1 -1
- package/dist/js/createShader.js +1 -1
- package/dist/react/Shader.js +1 -1
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/svelte/index.js +1 -1
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/package.json +1 -1
- package/dist/core/Crystal-xVyUhVD-.js +0 -394
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as transformColor, l as transformPosition } from "./transformations-B5lM6fYX.js";
|
|
2
|
-
import { t as createGaussianBlurCompute } from "./computeBlur-
|
|
2
|
+
import { t as createGaussianBlurCompute } from "./computeBlur-DeXZ99YL.js";
|
|
3
3
|
import { n as createAnalyticSdfSampler, r as createSvgSdfSampler } from "./sdf-DyC2H_qS.js";
|
|
4
|
-
import { Fn, clamp, convertToTexture, dot, exp2, float, max, mix, pow, screenUV, smoothstep, sqrt, texture, uniform, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
4
|
+
import { Fn, If, clamp, convertToTexture, dot, exp2, float, max, mix, pow, screenUV, smoothstep, sqrt, texture, uniform, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
5
5
|
var GOLDEN_ANGLE = 2.3999632297286535;
|
|
6
6
|
var BLUR_SAMPLE_COUNT = 9;
|
|
7
7
|
const BLUR_DISK = [];
|
|
@@ -32,101 +32,109 @@ function applyGlassEffect(childTexture, sdfSampler, uniforms, onBeforeRender, bl
|
|
|
32
32
|
const sdfUV = vec2(uv$1.x.sub(centerPos.x).mul(aspect).div(scale).add(float(.5)), uv$1.y.sub(centerPos.y).div(scale).add(float(.5)));
|
|
33
33
|
const sdfRaw = sdfSampler(sdfUV).r;
|
|
34
34
|
const sdf = sdfRaw.div(scale);
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
const output = vec4(0).toVar();
|
|
36
|
+
If(sdf.greaterThan(pxH.mul(float(2))), () => {
|
|
37
|
+
const baseSample = childTexture.sample(uv$1);
|
|
38
|
+
const earlyAlpha = uniforms.cutout.uniform.equal(float(1)).select(float(0), baseSample.a);
|
|
39
|
+
output.assign(vec4(baseSample.r, baseSample.g, baseSample.b, earlyAlpha));
|
|
40
|
+
}).Else(() => {
|
|
41
|
+
const EPS = float(.01);
|
|
42
|
+
const gradX = sdfSampler(sdfUV.add(vec2(EPS, float(0)))).r.sub(sdfRaw).div(EPS);
|
|
43
|
+
const gradY = sdfSampler(sdfUV.add(vec2(float(0), EPS))).r.sub(sdfRaw).div(EPS);
|
|
44
|
+
const rb1 = clamp(sdf.negate().div(sharp).mul(float(32)), float(0), float(1));
|
|
45
|
+
const rb2base = clamp(sdf.sub(pxH).negate().div(sharp).mul(float(16)), float(0), float(1)).sub(clamp(sdf.negate().div(sharp).mul(float(16)), float(0), float(1)));
|
|
46
|
+
const lightFacing = gradX.mul(lx).add(gradY.mul(ly)).mul(float(.5)).add(float(.5));
|
|
47
|
+
const rb2 = rb2base.mul(lightFacing).mul(uniforms.highlight.uniform);
|
|
48
|
+
const thicknessRange = uniforms.thickness.uniform.mul(float(.3)).max(float(.005));
|
|
49
|
+
const depthNorm = clamp(sdf.negate().div(thicknessRange), float(0), float(1));
|
|
50
|
+
const refrStrength = float(1).sub(depthNorm).mul(float(1).sub(depthNorm));
|
|
51
|
+
const refrScale = uniforms.refraction.uniform.mul(float(.15));
|
|
52
|
+
const offsetX = gradX.negate().mul(refrScale).mul(refrStrength).div(aspect);
|
|
53
|
+
const offsetY = gradY.negate().mul(refrScale).mul(refrStrength);
|
|
54
|
+
const lensUV = centerPos.add(uv$1.sub(centerPos).div(uniforms.innerZoom.uniform)).add(vec2(offsetX, offsetY));
|
|
55
|
+
const blurEnabled = typeof uniforms.blur.uniform.value === "number" ? uniforms.blur.uniform.value > 0 : true;
|
|
56
|
+
const aberrationEnabled = typeof uniforms.aberration.uniform.value === "number" ? uniforms.aberration.uniform.value > 0 : true;
|
|
57
|
+
let blurred;
|
|
58
|
+
if (blurredTexture && blurEnabled) {
|
|
59
|
+
const blurTex = texture(blurredTexture);
|
|
60
|
+
if (!aberrationEnabled) blurred = blurTex.sample(lensUV);
|
|
61
|
+
else {
|
|
62
|
+
const chrScale = uniforms.aberration.uniform.mul(float(.06));
|
|
63
|
+
const chrOffX = offsetX.mul(chrScale);
|
|
64
|
+
const chrOffY = offsetY.mul(chrScale);
|
|
65
|
+
const rUV = lensUV.add(vec2(chrOffX, chrOffY));
|
|
66
|
+
const bUV = lensUV.sub(vec2(chrOffX, chrOffY));
|
|
67
|
+
const rSample = blurTex.sample(rUV);
|
|
68
|
+
const gSample = blurTex.sample(lensUV);
|
|
69
|
+
const bSample = blurTex.sample(bUV);
|
|
70
|
+
blurred = vec4(rSample.r, gSample.g, bSample.b, gSample.a);
|
|
71
|
+
}
|
|
72
|
+
} else if (!blurEnabled && !aberrationEnabled) blurred = childTexture.sample(lensUV);
|
|
73
|
+
else if (!blurEnabled && aberrationEnabled) {
|
|
56
74
|
const chrScale = uniforms.aberration.uniform.mul(float(.06));
|
|
57
75
|
const chrOffX = offsetX.mul(chrScale);
|
|
58
76
|
const chrOffY = offsetY.mul(chrScale);
|
|
59
77
|
const rUV = lensUV.add(vec2(chrOffX, chrOffY));
|
|
60
78
|
const bUV = lensUV.sub(vec2(chrOffX, chrOffY));
|
|
61
|
-
const rSample =
|
|
62
|
-
const gSample =
|
|
63
|
-
const bSample =
|
|
79
|
+
const rSample = childTexture.sample(rUV);
|
|
80
|
+
const gSample = childTexture.sample(lensUV);
|
|
81
|
+
const bSample = childTexture.sample(bUV);
|
|
64
82
|
blurred = vec4(rSample.r, gSample.g, bSample.b, gSample.a);
|
|
83
|
+
} else if (blurEnabled && !aberrationEnabled) {
|
|
84
|
+
const acc = vec4(0).toVar();
|
|
85
|
+
for (const [ox, oy] of BLUR_DISK) {
|
|
86
|
+
const blurOff = pixelSize.mul(vec2(float(ox), float(oy))).mul(uniforms.blur.uniform.mul(2));
|
|
87
|
+
acc.assign(acc.add(childTexture.sample(lensUV.add(blurOff))));
|
|
88
|
+
}
|
|
89
|
+
blurred = acc.mul(float(1 / BLUR_SAMPLE_COUNT));
|
|
90
|
+
} else {
|
|
91
|
+
const chrScale = uniforms.aberration.uniform.mul(float(.06));
|
|
92
|
+
const chrOffX = offsetX.mul(chrScale);
|
|
93
|
+
const chrOffY = offsetY.mul(chrScale);
|
|
94
|
+
const rUV = lensUV.add(vec2(chrOffX, chrOffY));
|
|
95
|
+
const bUV = lensUV.sub(vec2(chrOffX, chrOffY));
|
|
96
|
+
const accR = vec4(0).toVar();
|
|
97
|
+
const accG = vec4(0).toVar();
|
|
98
|
+
const accB = vec4(0).toVar();
|
|
99
|
+
for (const [ox, oy] of BLUR_DISK) {
|
|
100
|
+
const blurOff = pixelSize.mul(vec2(float(ox), float(oy))).mul(uniforms.blur.uniform.mul(2));
|
|
101
|
+
accR.assign(accR.add(childTexture.sample(rUV.add(blurOff))));
|
|
102
|
+
accG.assign(accG.add(childTexture.sample(lensUV.add(blurOff))));
|
|
103
|
+
accB.assign(accB.add(childTexture.sample(bUV.add(blurOff))));
|
|
104
|
+
}
|
|
105
|
+
const samplesInv = float(1 / BLUR_SAMPLE_COUNT);
|
|
106
|
+
blurred = vec4(accR.mul(samplesInv).r, accG.mul(samplesInv).g, accB.mul(samplesInv).b, accG.mul(samplesInv).a);
|
|
65
107
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
accG.assign(accG.add(childTexture.sample(lensUV.add(blurOff))));
|
|
97
|
-
accB.assign(accB.add(childTexture.sample(bUV.add(blurOff))));
|
|
98
|
-
}
|
|
99
|
-
const samplesInv = float(1 / BLUR_SAMPLE_COUNT);
|
|
100
|
-
blurred = vec4(accR.mul(samplesInv).r, accG.mul(samplesInv).g, accB.mul(samplesInv).b, accG.mul(samplesInv).a);
|
|
101
|
-
}
|
|
102
|
-
const tintCol = vec3(uniforms.tintColor.uniform.x, uniforms.tintColor.uniform.y, uniforms.tintColor.uniform.z);
|
|
103
|
-
const tintAmt = uniforms.tintIntensity.uniform;
|
|
104
|
-
const blurredRgb = vec3(blurred.r, blurred.g, blurred.b);
|
|
105
|
-
const lumWeights = vec3(.299, .587, .114);
|
|
106
|
-
const origLum = dot(blurredRgb, lumWeights);
|
|
107
|
-
const tinted = mix(blurredRgb, tintCol, tintAmt);
|
|
108
|
-
const tintedLum = dot(tinted, lumWeights);
|
|
109
|
-
const lumPreserved = tinted.mul(origLum.div(max(tintedLum, float(1e-4))));
|
|
110
|
-
const tintedGlass = vec4(uniforms.tintPreserveLuminosity.uniform.equal(float(1)).select(lumPreserved, tinted), blurred.a);
|
|
111
|
-
const nz = float(2);
|
|
112
|
-
const nLen = sqrt(gradX.mul(gradX).add(gradY.mul(gradY)).add(nz.mul(nz)));
|
|
113
|
-
const nx = gradX.div(nLen);
|
|
114
|
-
const ny = gradY.div(nLen);
|
|
115
|
-
const nnz = nz.div(nLen);
|
|
116
|
-
const nDotH = nx.mul(lx.mul(float(INV_HLEN_GLASS))).add(ny.mul(ly.mul(float(INV_HLEN_GLASS)))).add(nnz.mul(float(2 * INV_HLEN_GLASS)));
|
|
117
|
-
const shininess = exp2(float(8).sub(uniforms.highlightSoftness.uniform.mul(float(7))));
|
|
118
|
-
const specGlint = pow(clamp(nDotH, float(0), float(1)), shininess).mul(uniforms.highlight.uniform).mul(refrStrength);
|
|
119
|
-
const fresnelWidth = uniforms.fresnelSoftness.uniform.mul(float(.06)).max(float(.001));
|
|
120
|
-
const fresnelDepth = clamp(sdf.negate().div(fresnelWidth), float(0), float(1));
|
|
121
|
-
const fresnelRim = float(1).sub(fresnelDepth).mul(float(1).sub(fresnelDepth)).mul(uniforms.fresnel.uniform).mul(rb1);
|
|
122
|
-
const hlCol = uniforms.highlightColor.uniform;
|
|
123
|
-
const frCol = uniforms.fresnelColor.uniform;
|
|
124
|
-
const lighting = tintedGlass.add(vec4(hlCol.x.mul(rb2), hlCol.y.mul(rb2), hlCol.z.mul(rb2), rb2)).add(vec4(hlCol.x.mul(specGlint), hlCol.y.mul(specGlint), hlCol.z.mul(specGlint), float(0))).add(vec4(frCol.x.mul(fresnelRim), frCol.y.mul(fresnelRim), frCol.z.mul(fresnelRim), float(0)));
|
|
125
|
-
const transition = smoothstep(float(0), float(1), rb1);
|
|
126
|
-
const isCutout = uniforms.cutout.uniform.equal(float(1));
|
|
127
|
-
const composited = mix(childTexture.sample(uv$1), lighting, transition);
|
|
128
|
-
const cutoutAlpha = isCutout.select(transition, float(1));
|
|
129
|
-
return vec4(composited.r, composited.g, composited.b, composited.a.mul(cutoutAlpha));
|
|
108
|
+
const tintCol = vec3(uniforms.tintColor.uniform.x, uniforms.tintColor.uniform.y, uniforms.tintColor.uniform.z);
|
|
109
|
+
const tintAmt = uniforms.tintIntensity.uniform;
|
|
110
|
+
const blurredRgb = vec3(blurred.r, blurred.g, blurred.b);
|
|
111
|
+
const lumWeights = vec3(.299, .587, .114);
|
|
112
|
+
const origLum = dot(blurredRgb, lumWeights);
|
|
113
|
+
const tinted = mix(blurredRgb, tintCol, tintAmt);
|
|
114
|
+
const tintedLum = dot(tinted, lumWeights);
|
|
115
|
+
const lumPreserved = tinted.mul(origLum.div(max(tintedLum, float(1e-4))));
|
|
116
|
+
const tintedGlass = vec4(uniforms.tintPreserveLuminosity.uniform.equal(float(1)).select(lumPreserved, tinted), blurred.a);
|
|
117
|
+
const nz = float(2);
|
|
118
|
+
const nLen = sqrt(gradX.mul(gradX).add(gradY.mul(gradY)).add(nz.mul(nz)));
|
|
119
|
+
const nx = gradX.div(nLen);
|
|
120
|
+
const ny = gradY.div(nLen);
|
|
121
|
+
const nnz = nz.div(nLen);
|
|
122
|
+
const nDotH = nx.mul(lx.mul(float(INV_HLEN_GLASS))).add(ny.mul(ly.mul(float(INV_HLEN_GLASS)))).add(nnz.mul(float(2 * INV_HLEN_GLASS)));
|
|
123
|
+
const shininess = exp2(float(8).sub(uniforms.highlightSoftness.uniform.mul(float(7))));
|
|
124
|
+
const specGlint = pow(clamp(nDotH, float(0), float(1)), shininess).mul(uniforms.highlight.uniform).mul(refrStrength);
|
|
125
|
+
const fresnelWidth = uniforms.fresnelSoftness.uniform.mul(float(.06)).max(float(.001));
|
|
126
|
+
const fresnelDepth = clamp(sdf.negate().div(fresnelWidth), float(0), float(1));
|
|
127
|
+
const fresnelRim = float(1).sub(fresnelDepth).mul(float(1).sub(fresnelDepth)).mul(uniforms.fresnel.uniform).mul(rb1);
|
|
128
|
+
const hlCol = uniforms.highlightColor.uniform;
|
|
129
|
+
const frCol = uniforms.fresnelColor.uniform;
|
|
130
|
+
const lighting = tintedGlass.add(vec4(hlCol.x.mul(rb2), hlCol.y.mul(rb2), hlCol.z.mul(rb2), rb2)).add(vec4(hlCol.x.mul(specGlint), hlCol.y.mul(specGlint), hlCol.z.mul(specGlint), float(0))).add(vec4(frCol.x.mul(fresnelRim), frCol.y.mul(fresnelRim), frCol.z.mul(fresnelRim), float(0)));
|
|
131
|
+
const transition = smoothstep(float(0), float(1), rb1);
|
|
132
|
+
const isCutout = uniforms.cutout.uniform.equal(float(1));
|
|
133
|
+
const composited = mix(childTexture.sample(uv$1), lighting, transition);
|
|
134
|
+
const cutoutAlpha = isCutout.select(transition, float(1));
|
|
135
|
+
output.assign(vec4(composited.r, composited.g, composited.b, composited.a.mul(cutoutAlpha)));
|
|
136
|
+
});
|
|
137
|
+
return output;
|
|
130
138
|
})();
|
|
131
139
|
}
|
|
132
140
|
var transformBoolean = (value) => value ? 1 : 0;
|
|
@@ -392,7 +400,7 @@ const componentDefinition = {
|
|
|
392
400
|
if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
|
|
393
401
|
});
|
|
394
402
|
const dpr = renderer?.getPixelRatio?.() ?? 1;
|
|
395
|
-
const { computeNodes, outputTexture, updateRadius } = createGaussianBlurCompute(childTexture, Math.round(dimensions.width * dpr), Math.round(dimensions.height * dpr), onCleanup);
|
|
403
|
+
const { computeNodes, outputTexture, updateRadius } = createGaussianBlurCompute(childTexture, Math.round(dimensions.width * dpr), Math.round(dimensions.height * dpr), onCleanup, .5);
|
|
396
404
|
return {
|
|
397
405
|
outputs: {
|
|
398
406
|
childTexture,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as unpremultiplyAlpha } from "./alpha-C4ptedXe.js";
|
|
2
|
-
import { n as createVariableGaussianBlurCompute, t as createGaussianBlurCompute } from "./computeBlur-
|
|
2
|
+
import { n as createVariableGaussianBlurCompute, t as createGaussianBlurCompute } from "./computeBlur-DeXZ99YL.js";
|
|
3
3
|
import { Fn, If, clamp, convertToTexture, dot, float, instanceIndex, int, max, mix, pow, screenUV, texture, textureLoad, textureStore, uint, uvec2, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
const componentDefinition = {
|
|
5
5
|
name: "Glow",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as transformColor, l as transformPosition } from "./transformations-B5lM6fYX.js";
|
|
2
2
|
import { n as createAnalyticSdfSampler, r as createSvgSdfSampler } from "./sdf-DyC2H_qS.js";
|
|
3
|
-
import { Fn, atan, clamp, cos, exp, exp2, float, max, mix, pow, screenUV, sin, smoothstep, sqrt, uniform, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
3
|
+
import { Fn, If, atan, clamp, cos, exp, exp2, float, max, mix, pow, screenUV, sin, smoothstep, sqrt, uniform, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
4
4
|
var _LZ = .7;
|
|
5
5
|
var _INV_LIGHT_LEN = 1 / Math.sqrt(1 + _LZ * _LZ);
|
|
6
6
|
var _LZN = _LZ * _INV_LIGHT_LEN;
|
|
@@ -23,67 +23,78 @@ function applyNeonEffect(sdfSampler, uniforms, timeNode) {
|
|
|
23
23
|
const gradX = sdfRight.sub(sdfLeft).div(smoothEPS.mul(float(2)));
|
|
24
24
|
const gradY = sdfUp.sub(sdfDown).div(smoothEPS.mul(float(2)));
|
|
25
25
|
const sdf = mix(sdfCenter, sdfCenter.add(sdfRight).add(sdfLeft).add(sdfUp).add(sdfDown).div(float(5)), smoothAmt);
|
|
26
|
-
const
|
|
27
|
-
const gnx = gradX.div(gradLen);
|
|
28
|
-
const gny = gradY.div(gradLen);
|
|
29
|
-
const tubeR = uniforms.tubeThickness.uniform;
|
|
30
|
-
const depthNorm = clamp(sdf.negate().div(tubeR.max(float(.001))), float(0), float(1));
|
|
31
|
-
const softPx = float(.004);
|
|
32
|
-
const outerMask = smoothstep(softPx, softPx.negate(), sdf);
|
|
33
|
-
const innerMask = smoothstep(tubeR.add(softPx), tubeR.sub(softPx), sdf.negate());
|
|
34
|
-
const tubeMask = outerMask.mul(innerMask);
|
|
35
|
-
const t = depthNorm;
|
|
36
|
-
const cylinderZ = sqrt(t.mul(float(2).sub(t)).max(float(0)));
|
|
37
|
-
const cylinderR = float(1).sub(t);
|
|
38
|
-
const nx = gnx.mul(cylinderR);
|
|
39
|
-
const ny = gny.mul(cylinderR);
|
|
40
|
-
const nz = cylinderZ;
|
|
41
|
-
const lightRad = uniforms.lightAngle.uniform.mul(float(Math.PI / 180));
|
|
42
|
-
const lx = cos(lightRad);
|
|
43
|
-
const ly = sin(lightRad);
|
|
44
|
-
const lxn = lx.mul(float(_INV_LIGHT_LEN));
|
|
45
|
-
const lyn = ly.mul(float(_INV_LIGHT_LEN));
|
|
46
|
-
const lzn = float(_LZN);
|
|
47
|
-
const diffuse = clamp(nx.mul(lxn).add(ny.mul(lyn)).add(nz.mul(lzn)), float(0), float(1));
|
|
48
|
-
const NdotH = nx.mul(lxn.mul(float(_INV_H_LEN))).add(ny.mul(lyn.mul(float(_INV_H_LEN)))).add(nz.mul(float(_HZ * _INV_H_LEN)));
|
|
49
|
-
const shininess = exp2(float(8).sub(uniforms.specularSize.uniform.mul(float(7))));
|
|
50
|
-
const specular = pow(clamp(NdotH, float(0), float(1)), shininess).mul(uniforms.specularIntensity.uniform);
|
|
51
|
-
const flowDx = sdfUV.x.sub(float(.5));
|
|
52
|
-
const flowWave = sin(atan(sdfUV.y.sub(float(.5)), flowDx).mul(float(2)).add(timeNode.mul(uniforms.flowSpeed.uniform))).mul(float(.5)).add(float(.5));
|
|
53
|
-
const flowMod = mix(float(1), flowWave, uniforms.flowAmount.uniform);
|
|
54
|
-
const primaryCol = vec3(uniforms.color.uniform.x, uniforms.color.uniform.y, uniforms.color.uniform.z);
|
|
55
|
-
const secondCol = vec3(uniforms.secondaryColor.uniform.x, uniforms.secondaryColor.uniform.y, uniforms.secondaryColor.uniform.z);
|
|
56
|
-
const blendAmt = uniforms.secondaryBlend.uniform;
|
|
57
|
-
const baseColor = mix(primaryCol, mix(secondCol, primaryCol, diffuse), blendAmt);
|
|
58
|
-
const ambient = float(.12);
|
|
59
|
-
const selfEmission = cylinderZ.mul(float(.35));
|
|
60
|
-
const shadedRgb = baseColor.mul(ambient.add(diffuse.mul(float(.55))).add(selfEmission));
|
|
61
|
-
const specCol = vec3(specular, specular, specular);
|
|
62
|
-
const tubeRgb = shadedRgb.add(specCol);
|
|
63
|
-
const hotCoreAmt = smoothstep(float(.55), float(1), depthNorm).mul(uniforms.hotCoreIntensity.uniform).mul(flowMod);
|
|
64
|
-
const tubeFlowed = mix(tubeRgb, mix(primaryCol, vec3(1, 1, 1), float(.75)), hotCoreAmt).mul(mix(float(1), flowMod, float(.4)));
|
|
26
|
+
const pxH = float(1).div(viewportSize.y);
|
|
65
27
|
const glowR = uniforms.glowRadius.uniform.max(float(.001));
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
28
|
+
const softPx = max(pxH.div(scale), float(.004));
|
|
29
|
+
const output = vec4(0).toVar();
|
|
30
|
+
If(sdf.greaterThan(glowR.mul(float(1.5)).add(softPx)), () => {
|
|
31
|
+
output.assign(vec4(0, 0, 0, 0));
|
|
32
|
+
}).Else(() => {
|
|
33
|
+
const gradLen = sqrt(gradX.mul(gradX).add(gradY.mul(gradY))).max(float(1e-4));
|
|
34
|
+
const gnx = gradX.div(gradLen);
|
|
35
|
+
const gny = gradY.div(gradLen);
|
|
36
|
+
const tubeR = uniforms.tubeThickness.uniform;
|
|
37
|
+
const depthNorm = clamp(sdf.negate().div(tubeR.max(float(.001))), float(0), float(1));
|
|
38
|
+
const outerMask = smoothstep(softPx, softPx.negate(), sdf);
|
|
39
|
+
const innerMask = smoothstep(tubeR.add(softPx), tubeR.sub(softPx), sdf.negate());
|
|
40
|
+
const tubeMask = outerMask.mul(innerMask);
|
|
41
|
+
const t = depthNorm;
|
|
42
|
+
const cylinderZ = sqrt(t.mul(float(2).sub(t)).max(float(0)));
|
|
43
|
+
const cylinderR = float(1).sub(t);
|
|
44
|
+
const nx = gnx.mul(cylinderR);
|
|
45
|
+
const ny = gny.mul(cylinderR);
|
|
46
|
+
const nz = cylinderZ;
|
|
47
|
+
const lightRad = uniforms.lightAngle.uniform.mul(float(Math.PI / 180));
|
|
48
|
+
const lx = cos(lightRad);
|
|
49
|
+
const ly = sin(lightRad);
|
|
50
|
+
const lxn = lx.mul(float(_INV_LIGHT_LEN));
|
|
51
|
+
const lyn = ly.mul(float(_INV_LIGHT_LEN));
|
|
52
|
+
const lzn = float(_LZN);
|
|
53
|
+
const diffuse = clamp(nx.mul(lxn).add(ny.mul(lyn)).add(nz.mul(lzn)), float(0), float(1));
|
|
54
|
+
const NdotH = nx.mul(lxn.mul(float(_INV_H_LEN))).add(ny.mul(lyn.mul(float(_INV_H_LEN)))).add(nz.mul(float(_HZ * _INV_H_LEN)));
|
|
55
|
+
const shininess = exp2(float(8).sub(uniforms.specularSize.uniform.mul(float(7))));
|
|
56
|
+
const specular = pow(clamp(NdotH, float(0), float(1)), shininess).mul(uniforms.specularIntensity.uniform);
|
|
57
|
+
const flowDx = sdfUV.x.sub(float(.5));
|
|
58
|
+
const flowWave = sin(atan(sdfUV.y.sub(float(.5)), flowDx).mul(float(2)).add(timeNode.mul(uniforms.flowSpeed.uniform))).mul(float(.5)).add(float(.5));
|
|
59
|
+
const flowMod = mix(float(1), flowWave, uniforms.flowAmount.uniform);
|
|
60
|
+
const primaryCol = vec3(uniforms.color.uniform.x, uniforms.color.uniform.y, uniforms.color.uniform.z);
|
|
61
|
+
const secondCol = vec3(uniforms.secondaryColor.uniform.x, uniforms.secondaryColor.uniform.y, uniforms.secondaryColor.uniform.z);
|
|
62
|
+
const blendAmt = uniforms.secondaryBlend.uniform;
|
|
63
|
+
const baseColor = mix(primaryCol, mix(secondCol, primaryCol, diffuse), blendAmt);
|
|
64
|
+
const ambient = float(.12);
|
|
65
|
+
const selfEmission = cylinderZ.mul(float(.35));
|
|
66
|
+
const shadedRgb = baseColor.mul(ambient.add(diffuse.mul(float(.55))).add(selfEmission));
|
|
67
|
+
const specCol = vec3(specular, specular, specular);
|
|
68
|
+
const tubeRgb = shadedRgb.add(specCol);
|
|
69
|
+
const hotCoreAmt = smoothstep(float(.55), float(1), depthNorm).mul(uniforms.hotCoreIntensity.uniform).mul(flowMod);
|
|
70
|
+
const tubeFlowed = mix(tubeRgb, mix(primaryCol, vec3(1, 1, 1), float(.75)), hotCoreAmt).mul(mix(float(1), flowMod, float(.4)));
|
|
71
|
+
const glowI = uniforms.glowIntensity.uniform;
|
|
72
|
+
const sdfOutside = max(sdf, float(0));
|
|
73
|
+
const innerGlowFalloff = float(12).div(glowR);
|
|
74
|
+
const innerGlow = exp(sdfOutside.negate().mul(innerGlowFalloff)).mul(float(.7));
|
|
75
|
+
const outerGlowFalloff = float(4).div(glowR);
|
|
76
|
+
const outerGlow = exp(sdfOutside.negate().mul(outerGlowFalloff)).mul(float(.35));
|
|
77
|
+
const totalGlow = innerGlow.add(outerGlow).mul(glowI);
|
|
78
|
+
const outsideFactor = smoothstep(float(-.003), float(.003), sdf);
|
|
79
|
+
const glowMasked = totalGlow.mul(outsideFactor);
|
|
80
|
+
const glowCol = vec3(uniforms.glowColor.uniform.x, uniforms.glowColor.uniform.y, uniforms.glowColor.uniform.z);
|
|
81
|
+
const flickerTime = timeNode.mul(uniforms.flickerSpeed.uniform);
|
|
82
|
+
const f1 = sin(flickerTime.mul(float(17.13)));
|
|
83
|
+
const f2 = sin(flickerTime.mul(float(31.71)));
|
|
84
|
+
const f3 = sin(flickerTime.mul(float(47.29)));
|
|
85
|
+
const combined = f1.add(f2.mul(float(.5))).add(f3.mul(float(.3)));
|
|
86
|
+
const threshold = mix(float(-2), float(.8), uniforms.flickerAmount.uniform);
|
|
87
|
+
const flickerValue = smoothstep(threshold.sub(float(.1)), threshold.add(float(.1)), combined);
|
|
88
|
+
const intensityMul = uniforms.intensity.uniform.mul(flickerValue);
|
|
89
|
+
const finalTubeRgb = tubeFlowed.mul(intensityMul);
|
|
90
|
+
const finalGlowRgb = glowCol.mul(glowMasked).mul(intensityMul);
|
|
91
|
+
const finalR = mix(finalGlowRgb.x, finalTubeRgb.x, tubeMask);
|
|
92
|
+
const finalG = mix(finalGlowRgb.y, finalTubeRgb.y, tubeMask);
|
|
93
|
+
const finalB = mix(finalGlowRgb.z, finalTubeRgb.z, tubeMask);
|
|
94
|
+
const finalA = max(tubeMask, clamp(glowMasked.mul(float(.6)), float(0), float(1)));
|
|
95
|
+
output.assign(vec4(finalR, finalG, finalB, finalA));
|
|
96
|
+
});
|
|
97
|
+
return output;
|
|
87
98
|
})();
|
|
88
99
|
}
|
|
89
100
|
var DEFAULT_SHAPE_CONFIG = JSON.stringify({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { l as transformPosition, r as transformAngle } from "./transformations-B5lM6fYX.js";
|
|
2
2
|
import { t as unpremultiplyAlpha } from "./alpha-C4ptedXe.js";
|
|
3
|
-
import { n as createVariableGaussianBlurCompute } from "./computeBlur-
|
|
3
|
+
import { n as createVariableGaussianBlurCompute } from "./computeBlur-DeXZ99YL.js";
|
|
4
4
|
import { Fn, If, clamp, convertToTexture, cos, dot, float, instanceIndex, int, max, mix, pow, radians, screenUV, sin, smoothstep, texture, textureLoad, textureStore, uint, uniform, uvec2, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
5
5
|
const componentDefinition = {
|
|
6
6
|
name: "ProgressiveBlur",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { l as transformPosition, r as transformAngle } from "./transformations-B5lM6fYX.js";
|
|
2
2
|
import { t as unpremultiplyAlpha } from "./alpha-C4ptedXe.js";
|
|
3
|
-
import { n as createVariableGaussianBlurCompute } from "./computeBlur-
|
|
3
|
+
import { n as createVariableGaussianBlurCompute } from "./computeBlur-DeXZ99YL.js";
|
|
4
4
|
import { Fn, If, abs, clamp, convertToTexture, cos, dot, float, instanceIndex, int, mix, pow, radians, screenUV, sin, smoothstep, texture, textureLoad, textureStore, uint, uniform, uvec2, vec2, vec3, vec4, viewportSize } from "three/tsl";
|
|
5
5
|
const componentDefinition = {
|
|
6
6
|
name: "TiltShift",
|
|
@@ -12,10 +12,17 @@ for (let i = -HALF_KERNEL; i <= HALF_KERNEL; i++) {
|
|
|
12
12
|
fixedWeightSum += w;
|
|
13
13
|
}
|
|
14
14
|
for (let i = 0; i < KERNEL_SIZE; i++) FIXED_WEIGHTS[i] /= fixedWeightSum;
|
|
15
|
-
function createGaussianBlurCompute(inputTexture, width, height, onCleanup) {
|
|
16
|
-
|
|
15
|
+
function createGaussianBlurCompute(inputTexture, width, height, onCleanup, outputScale = 1) {
|
|
16
|
+
if (outputScale !== 1 && outputScale !== .5) {
|
|
17
|
+
console.warn(`[computeBlur] unsupported outputScale ${outputScale} — falling back to 1`);
|
|
18
|
+
outputScale = 1;
|
|
19
|
+
}
|
|
20
|
+
const outWidth = Math.round(width * outputScale);
|
|
21
|
+
const outHeight = Math.round(height * outputScale);
|
|
22
|
+
const coordScale = Math.round(1 / outputScale);
|
|
23
|
+
const intermediateTex = new StorageTexture(outWidth, outHeight);
|
|
17
24
|
intermediateTex.type = FloatType;
|
|
18
|
-
const outputTex = new StorageTexture(
|
|
25
|
+
const outputTex = new StorageTexture(outWidth, outHeight);
|
|
19
26
|
outputTex.type = FloatType;
|
|
20
27
|
onCleanup(() => {
|
|
21
28
|
intermediateTex.dispose();
|
|
@@ -26,37 +33,39 @@ function createGaussianBlurCompute(inputTexture, width, height, onCleanup) {
|
|
|
26
33
|
const outputNode = storageTexture(outputTex);
|
|
27
34
|
const weights = uniformArray(new Array(KERNEL_SIZE).fill(0), "float");
|
|
28
35
|
let lastRadius = -1;
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
36
|
+
const ow = uint(outWidth);
|
|
37
|
+
const oh = uint(outHeight);
|
|
38
|
+
const inputWm1 = int(width - 1);
|
|
39
|
+
const inputHm1 = int(height - 1);
|
|
40
|
+
const outHm1 = int(outHeight - 1);
|
|
33
41
|
const horizontalPass = Fn(() => {
|
|
34
42
|
const idx = instanceIndex;
|
|
35
|
-
const x = idx.mod(
|
|
36
|
-
const y = idx.div(
|
|
37
|
-
If(y.lessThan(
|
|
43
|
+
const x = idx.mod(ow);
|
|
44
|
+
const y = idx.div(ow);
|
|
45
|
+
If(y.lessThan(oh), () => {
|
|
38
46
|
const sum = vec4(0).toVar();
|
|
39
|
-
const xi = x.toInt();
|
|
47
|
+
const xi = x.toInt().mul(int(coordScale));
|
|
48
|
+
const yi = y.toInt().mul(int(coordScale)).clamp(int(0), inputHm1);
|
|
40
49
|
for (let i = -HALF_KERNEL; i <= HALF_KERNEL; i++) {
|
|
41
|
-
const texel = textureLoad(inputTexture, uvec2(xi.add(int(i)).clamp(int(0),
|
|
50
|
+
const texel = textureLoad(inputTexture, uvec2(xi.add(int(i)).clamp(int(0), inputWm1).toUint(), yi.toUint()), int(0));
|
|
42
51
|
sum.assign(sum.add(texel.mul(weights.element(int(i + HALF_KERNEL)))));
|
|
43
52
|
}
|
|
44
53
|
textureStore(intermediateWriteNode, uvec2(x, y), sum).toWriteOnly();
|
|
45
54
|
});
|
|
46
|
-
})().compute(
|
|
55
|
+
})().compute(outWidth * outHeight, [256]);
|
|
47
56
|
const verticalPass = Fn(() => {
|
|
48
57
|
const idx = instanceIndex;
|
|
49
|
-
const x = idx.mod(
|
|
50
|
-
const y = idx.div(
|
|
51
|
-
If(y.lessThan(
|
|
58
|
+
const x = idx.mod(ow);
|
|
59
|
+
const y = idx.div(ow);
|
|
60
|
+
If(y.lessThan(oh), () => {
|
|
52
61
|
const sum = vec4(0).toVar();
|
|
53
62
|
for (let i = -HALF_KERNEL; i <= HALF_KERNEL; i++) {
|
|
54
|
-
const texel = textureLoad(intermediateReadNode, uvec2(x, y.toInt().add(int(i)).clamp(int(0),
|
|
63
|
+
const texel = textureLoad(intermediateReadNode, uvec2(x, y.toInt().add(int(i)).clamp(int(0), outHm1).toUint()), int(0));
|
|
55
64
|
sum.assign(sum.add(texel.mul(weights.element(int(i + HALF_KERNEL)))));
|
|
56
65
|
}
|
|
57
66
|
textureStore(outputNode, uvec2(x, y), sum).toWriteOnly();
|
|
58
67
|
});
|
|
59
|
-
})().compute(
|
|
68
|
+
})().compute(outWidth * outHeight, [256]);
|
|
60
69
|
function updateRadius(pixelRadius) {
|
|
61
70
|
if (Math.abs(pixelRadius - lastRadius) < .01) return;
|
|
62
71
|
lastRadius = pixelRadius;
|
|
@@ -64,9 +73,9 @@ function createGaussianBlurCompute(inputTexture, width, height, onCleanup) {
|
|
|
64
73
|
const newWeights = new Array(KERNEL_SIZE);
|
|
65
74
|
let total = 0;
|
|
66
75
|
for (let i = -HALF_KERNEL; i <= HALF_KERNEL; i++) {
|
|
67
|
-
const w
|
|
68
|
-
newWeights[i + HALF_KERNEL] = w
|
|
69
|
-
total += w
|
|
76
|
+
const w = Math.exp(-(i * i) / (2 * sigma * sigma));
|
|
77
|
+
newWeights[i + HALF_KERNEL] = w;
|
|
78
|
+
total += w;
|
|
70
79
|
}
|
|
71
80
|
for (let i = 0; i < KERNEL_SIZE; i++) newWeights[i] /= total;
|
|
72
81
|
weights.array = newWeights;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emboss.d.ts","sourceRoot":"","sources":["../../src/effects/emboss.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,eAAe,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CACpC;AAkBD,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,GAAG,EACjB,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAC5B,QAAQ,EAAE,oBAAoB,GAAG,WAAW,GAC7C,IAAI,
|
|
1
|
+
{"version":3,"file":"emboss.d.ts","sourceRoot":"","sources":["../../src/effects/emboss.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,eAAe,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CACpC;AAkBD,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,GAAG,EACjB,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAC5B,QAAQ,EAAE,oBAAoB,GAAG,WAAW,GAC7C,IAAI,CAsIN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glass.d.ts","sourceRoot":"","sources":["../../src/effects/glass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAA;AAMzC,eAAO,MAAM,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAO,CAAA;AAO/C,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,IAAI,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACtB,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,sBAAsB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxC,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,iBAAiB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACnC,OAAO,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACzB,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,eAAe,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CAC9B;AAgBD,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,GAAG,EACjB,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAC5B,QAAQ,EAAE,mBAAmB,GAAG,WAAW,EAC3C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,EAC/C,cAAc,CAAC,EAAE,GAAG,GACrB,IAAI,
|
|
1
|
+
{"version":3,"file":"glass.d.ts","sourceRoot":"","sources":["../../src/effects/glass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAA;AAMzC,eAAO,MAAM,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAO,CAAA;AAO/C,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,IAAI,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACtB,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,sBAAsB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxC,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,iBAAiB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACnC,OAAO,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACzB,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,eAAe,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACjC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CAC9B;AAgBD,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,GAAG,EACjB,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAC5B,QAAQ,EAAE,mBAAmB,GAAG,WAAW,EAC3C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,EAC/C,cAAc,CAAC,EAAE,GAAG,GACrB,IAAI,CAmNN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../src/effects/neon.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,gBAAgB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAClC,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,iBAAiB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACnC,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,eAAe,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACjC,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CAC/B;AA2BD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAC5B,QAAQ,EAAE,kBAAkB,GAAG,WAAW,EAC1C,QAAQ,EAAE,GAAG,GACd,IAAI,
|
|
1
|
+
{"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../src/effects/neon.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACxB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACvB,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,cAAc,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAChC,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,gBAAgB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAClC,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC5B,iBAAiB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACnC,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,eAAe,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IACjC,YAAY,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC9B,aAAa,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC/B,SAAS,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;IAC3B,UAAU,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CAC/B;AA2BD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAC5B,QAAQ,EAAE,kBAAkB,GAAG,WAAW,EAC1C,QAAQ,EAAE,GAAG,GACd,IAAI,CA2ON"}
|