@paper-design/shaders-react 0.0.44 → 0.0.46
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/README.md +2 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +2 -2
- package/dist/shader-mount.d.ts +7 -2
- package/dist/shader-mount.js.map +2 -2
- package/dist/shaders/color-panels.js +9 -9
- package/dist/shaders/color-panels.js.map +2 -2
- package/dist/shaders/dithering.d.ts +1 -1
- package/dist/shaders/dithering.js +9 -9
- package/dist/shaders/dithering.js.map +2 -2
- package/dist/shaders/dot-grid.js +8 -8
- package/dist/shaders/dot-grid.js.map +1 -1
- package/dist/shaders/dot-orbit.js +5 -3
- package/dist/shaders/dot-orbit.js.map +2 -2
- package/dist/shaders/fluted-glass.d.ts +12 -0
- package/dist/shaders/fluted-glass.js +178 -0
- package/dist/shaders/fluted-glass.js.map +7 -0
- package/dist/shaders/god-rays.js +14 -12
- package/dist/shaders/god-rays.js.map +2 -2
- package/dist/shaders/grain-gradient.d.ts +2 -2
- package/dist/shaders/grain-gradient.js +33 -36
- package/dist/shaders/grain-gradient.js.map +2 -2
- package/dist/shaders/image-dithering.d.ts +12 -0
- package/dist/shaders/image-dithering.js +148 -0
- package/dist/shaders/image-dithering.js.map +7 -0
- package/dist/shaders/liquid-metal.d.ts +2 -2
- package/dist/shaders/liquid-metal.js +26 -26
- package/dist/shaders/liquid-metal.js.map +2 -2
- package/dist/shaders/mesh-gradient.js +1 -1
- package/dist/shaders/mesh-gradient.js.map +1 -1
- package/dist/shaders/metaballs.d.ts +1 -1
- package/dist/shaders/metaballs.js +16 -14
- package/dist/shaders/metaballs.js.map +2 -2
- package/dist/shaders/neuro-noise.js +3 -3
- package/dist/shaders/neuro-noise.js.map +1 -1
- package/dist/shaders/paper-texture.d.ts +12 -0
- package/dist/shaders/paper-texture.js +195 -0
- package/dist/shaders/paper-texture.js.map +7 -0
- package/dist/shaders/perlin-noise.js +3 -3
- package/dist/shaders/perlin-noise.js.map +1 -1
- package/dist/shaders/pulsing-border.js +10 -11
- package/dist/shaders/pulsing-border.js.map +2 -2
- package/dist/shaders/simplex-noise.js +2 -2
- package/dist/shaders/simplex-noise.js.map +1 -1
- package/dist/shaders/smoke-ring.js +8 -9
- package/dist/shaders/smoke-ring.js.map +2 -2
- package/dist/shaders/spiral.d.ts +1 -1
- package/dist/shaders/spiral.js +18 -18
- package/dist/shaders/spiral.js.map +2 -2
- package/dist/shaders/static-mesh-gradient.d.ts +1 -1
- package/dist/shaders/static-mesh-gradient.js +21 -19
- package/dist/shaders/static-mesh-gradient.js.map +2 -2
- package/dist/shaders/static-radial-gradient.d.ts +1 -1
- package/dist/shaders/static-radial-gradient.js +18 -16
- package/dist/shaders/static-radial-gradient.js.map +2 -2
- package/dist/shaders/swirl.js +6 -9
- package/dist/shaders/swirl.js.map +2 -2
- package/dist/shaders/voronoi.js +8 -8
- package/dist/shaders/voronoi.js.map +2 -2
- package/dist/shaders/warp.js +3 -1
- package/dist/shaders/warp.js.map +2 -2
- package/dist/shaders/water.d.ts +12 -0
- package/dist/shaders/water.js +150 -0
- package/dist/shaders/water.js.map +7 -0
- package/dist/shaders/waves.js +6 -6
- package/dist/shaders/waves.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
2
|
+
* Paper Shaders *
|
|
3
|
+
* https://github.com/paper-design/shaders *
|
|
4
|
+
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
|
+
|
|
6
|
+
import { memo } from "react";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
|
+
import {
|
|
9
|
+
flutedGlassFragmentShader,
|
|
10
|
+
ShaderFitOptions,
|
|
11
|
+
defaultObjectSizing,
|
|
12
|
+
GlassDistortionShapes,
|
|
13
|
+
GlassGridShapes
|
|
14
|
+
} from "@paper-design/shaders";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
const defaultPreset = {
|
|
17
|
+
name: "Default",
|
|
18
|
+
params: {
|
|
19
|
+
...defaultObjectSizing,
|
|
20
|
+
// fit: 'cover',
|
|
21
|
+
// scale: 0.95,
|
|
22
|
+
speed: 0,
|
|
23
|
+
frame: 0,
|
|
24
|
+
image: "/images/image-filters/0018.webp",
|
|
25
|
+
count: 80,
|
|
26
|
+
angle: 0,
|
|
27
|
+
distortionShape: "lens",
|
|
28
|
+
shape: "lines",
|
|
29
|
+
distortion: 0.5,
|
|
30
|
+
shift: 0,
|
|
31
|
+
blur: 3,
|
|
32
|
+
highlights: 0,
|
|
33
|
+
marginLeft: 0,
|
|
34
|
+
marginRight: 0,
|
|
35
|
+
marginTop: 0,
|
|
36
|
+
marginBottom: 0
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const wavesPreset = {
|
|
40
|
+
name: "Waves",
|
|
41
|
+
params: {
|
|
42
|
+
...defaultObjectSizing,
|
|
43
|
+
speed: 0,
|
|
44
|
+
frame: 0,
|
|
45
|
+
image: "/images/image-filters/0018.webp",
|
|
46
|
+
count: 20,
|
|
47
|
+
angle: 0,
|
|
48
|
+
distortionShape: "\u0441ontour",
|
|
49
|
+
shape: "wave",
|
|
50
|
+
distortion: 0.3,
|
|
51
|
+
shift: 0,
|
|
52
|
+
blur: 0,
|
|
53
|
+
highlights: 0,
|
|
54
|
+
marginLeft: 0,
|
|
55
|
+
marginRight: 0,
|
|
56
|
+
marginTop: 0,
|
|
57
|
+
marginBottom: 0
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const irregularPreset = {
|
|
61
|
+
name: "Irregular lines",
|
|
62
|
+
params: {
|
|
63
|
+
...defaultObjectSizing,
|
|
64
|
+
scale: 4,
|
|
65
|
+
speed: 0,
|
|
66
|
+
frame: 0,
|
|
67
|
+
image: "/images/image-filters/0018.webp",
|
|
68
|
+
count: 32,
|
|
69
|
+
angle: 150,
|
|
70
|
+
distortionShape: "facete",
|
|
71
|
+
shape: "linesIrregular",
|
|
72
|
+
distortion: 1,
|
|
73
|
+
shift: 0,
|
|
74
|
+
blur: 25,
|
|
75
|
+
highlights: 1,
|
|
76
|
+
marginLeft: 0,
|
|
77
|
+
marginRight: 0,
|
|
78
|
+
marginTop: 0,
|
|
79
|
+
marginBottom: 0
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const foldsPreset = {
|
|
83
|
+
name: "Folds",
|
|
84
|
+
params: {
|
|
85
|
+
...defaultObjectSizing,
|
|
86
|
+
speed: 0,
|
|
87
|
+
frame: 0,
|
|
88
|
+
image: "/images/image-filters/0018.webp",
|
|
89
|
+
count: 50,
|
|
90
|
+
angle: 0,
|
|
91
|
+
distortionShape: "\u0441ascade",
|
|
92
|
+
shape: "lines",
|
|
93
|
+
distortion: 0.75,
|
|
94
|
+
shift: 0,
|
|
95
|
+
blur: 0,
|
|
96
|
+
highlights: 0,
|
|
97
|
+
marginLeft: 0.15,
|
|
98
|
+
marginRight: 0.15,
|
|
99
|
+
marginTop: 0.15,
|
|
100
|
+
marginBottom: 0.15
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const flutedGlassPresets = [defaultPreset, irregularPreset, wavesPreset, foldsPreset];
|
|
104
|
+
const FlutedGlass = memo(function FlutedGlassImpl({
|
|
105
|
+
// Own props
|
|
106
|
+
speed = defaultPreset.params.speed,
|
|
107
|
+
frame = defaultPreset.params.frame,
|
|
108
|
+
image = defaultPreset.params.image,
|
|
109
|
+
count = defaultPreset.params.count,
|
|
110
|
+
angle = defaultPreset.params.angle,
|
|
111
|
+
distortion = defaultPreset.params.distortion,
|
|
112
|
+
distortionShape = defaultPreset.params.distortionShape,
|
|
113
|
+
shape = defaultPreset.params.shape,
|
|
114
|
+
shift = defaultPreset.params.shift,
|
|
115
|
+
blur = defaultPreset.params.blur,
|
|
116
|
+
marginLeft = defaultPreset.params.marginLeft,
|
|
117
|
+
marginRight = defaultPreset.params.marginRight,
|
|
118
|
+
marginTop = defaultPreset.params.marginTop,
|
|
119
|
+
marginBottom = defaultPreset.params.marginBottom,
|
|
120
|
+
highlights = defaultPreset.params.highlights,
|
|
121
|
+
// Sizing props
|
|
122
|
+
fit = defaultPreset.params.fit,
|
|
123
|
+
scale = defaultPreset.params.scale,
|
|
124
|
+
rotation = defaultPreset.params.rotation,
|
|
125
|
+
originX = defaultPreset.params.originX,
|
|
126
|
+
originY = defaultPreset.params.originY,
|
|
127
|
+
offsetX = defaultPreset.params.offsetX,
|
|
128
|
+
offsetY = defaultPreset.params.offsetY,
|
|
129
|
+
worldWidth = defaultPreset.params.worldWidth,
|
|
130
|
+
worldHeight = defaultPreset.params.worldHeight,
|
|
131
|
+
...props
|
|
132
|
+
}) {
|
|
133
|
+
const uniforms = {
|
|
134
|
+
// Own uniforms
|
|
135
|
+
u_image: image,
|
|
136
|
+
u_count: count,
|
|
137
|
+
u_angle: angle,
|
|
138
|
+
u_distortion: distortion,
|
|
139
|
+
u_shift: shift,
|
|
140
|
+
u_blur: blur,
|
|
141
|
+
u_highlights: highlights,
|
|
142
|
+
u_distortionShape: GlassDistortionShapes[distortionShape],
|
|
143
|
+
u_shape: GlassGridShapes[shape],
|
|
144
|
+
u_marginLeft: marginLeft,
|
|
145
|
+
u_marginRight: marginRight,
|
|
146
|
+
u_marginTop: marginTop,
|
|
147
|
+
u_marginBottom: marginBottom,
|
|
148
|
+
// Sizing uniforms
|
|
149
|
+
u_fit: ShaderFitOptions[fit],
|
|
150
|
+
u_scale: scale,
|
|
151
|
+
u_rotation: rotation,
|
|
152
|
+
u_offsetX: offsetX,
|
|
153
|
+
u_offsetY: offsetY,
|
|
154
|
+
u_originX: originX,
|
|
155
|
+
u_originY: originY,
|
|
156
|
+
u_worldWidth: worldWidth,
|
|
157
|
+
u_worldHeight: worldHeight
|
|
158
|
+
};
|
|
159
|
+
return /* @__PURE__ */ jsx(
|
|
160
|
+
ShaderMount,
|
|
161
|
+
{
|
|
162
|
+
...props,
|
|
163
|
+
speed,
|
|
164
|
+
frame,
|
|
165
|
+
fragmentShader: flutedGlassFragmentShader,
|
|
166
|
+
uniforms
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
});
|
|
170
|
+
export {
|
|
171
|
+
FlutedGlass,
|
|
172
|
+
defaultPreset,
|
|
173
|
+
flutedGlassPresets,
|
|
174
|
+
foldsPreset,
|
|
175
|
+
irregularPreset,
|
|
176
|
+
wavesPreset
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=fluted-glass.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/shaders/fluted-glass.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n flutedGlassFragmentShader,\n ShaderFitOptions,\n type FlutedGlassUniforms,\n type FlutedGlassParams,\n type ShaderPreset,\n defaultObjectSizing,\n GlassDistortionShapes,\n GlassGridShapes,\n} from '@paper-design/shaders';\n\nexport interface FlutedGlassProps extends ShaderComponentProps, FlutedGlassParams {}\n\ntype FlutedGlassPreset = ShaderPreset<FlutedGlassParams>;\n\nexport const defaultPreset: FlutedGlassPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n // fit: 'cover',\n // scale: 0.95,\n speed: 0,\n frame: 0,\n image: '/images/image-filters/0018.webp',\n count: 80,\n angle: 0,\n distortionShape: 'lens',\n shape: 'lines',\n distortion: 0.5,\n shift: 0,\n blur: 3,\n highlights: 0,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 0,\n marginBottom: 0,\n },\n};\n\nexport const wavesPreset: FlutedGlassPreset = {\n name: 'Waves',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n image: '/images/image-filters/0018.webp',\n count: 20,\n angle: 0,\n distortionShape: '\u0441ontour',\n shape: 'wave',\n distortion: 0.3,\n shift: 0,\n blur: 0,\n highlights: 0,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 0,\n marginBottom: 0,\n },\n};\n\nexport const irregularPreset: FlutedGlassPreset = {\n name: 'Irregular lines',\n params: {\n ...defaultObjectSizing,\n scale: 4,\n speed: 0,\n frame: 0,\n image: '/images/image-filters/0018.webp',\n count: 32,\n angle: 150,\n distortionShape: 'facete',\n shape: 'linesIrregular',\n distortion: 1,\n shift: 0,\n blur: 25,\n highlights: 1,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 0,\n marginBottom: 0,\n },\n};\n\nexport const foldsPreset: FlutedGlassPreset = {\n name: 'Folds',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n image: '/images/image-filters/0018.webp',\n count: 50,\n angle: 0,\n distortionShape: '\u0441ascade',\n shape: 'lines',\n distortion: 0.75,\n shift: 0,\n blur: 0,\n highlights: 0,\n marginLeft: 0.15,\n marginRight: 0.15,\n marginTop: 0.15,\n marginBottom: 0.15,\n },\n};\n\nexport const flutedGlassPresets: FlutedGlassPreset[] = [defaultPreset, irregularPreset, wavesPreset, foldsPreset];\n\nexport const FlutedGlass: React.FC<FlutedGlassProps> = memo(function FlutedGlassImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n image = defaultPreset.params.image,\n count = defaultPreset.params.count,\n angle = defaultPreset.params.angle,\n distortion = defaultPreset.params.distortion,\n distortionShape = defaultPreset.params.distortionShape,\n shape = defaultPreset.params.shape,\n shift = defaultPreset.params.shift,\n blur = defaultPreset.params.blur,\n marginLeft = defaultPreset.params.marginLeft,\n marginRight = defaultPreset.params.marginRight,\n marginTop = defaultPreset.params.marginTop,\n marginBottom = defaultPreset.params.marginBottom,\n highlights = defaultPreset.params.highlights,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: FlutedGlassProps) {\n const uniforms = {\n // Own uniforms\n u_image: image,\n u_count: count,\n u_angle: angle,\n u_distortion: distortion,\n u_shift: shift,\n u_blur: blur,\n u_highlights: highlights,\n u_distortionShape: GlassDistortionShapes[distortionShape],\n u_shape: GlassGridShapes[shape],\n u_marginLeft: marginLeft,\n u_marginRight: marginRight,\n u_marginTop: marginTop,\n u_marginBottom: marginBottom,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies FlutedGlassUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={flutedGlassFragmentShader}\n uniforms={uniforms}\n />\n );\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/shaders/god-rays.js
CHANGED
|
@@ -8,6 +8,7 @@ import { ShaderMount } from "../shader-mount.js";
|
|
|
8
8
|
import { colorPropsAreEqual } from "../color-props-are-equal.js";
|
|
9
9
|
import {
|
|
10
10
|
defaultObjectSizing,
|
|
11
|
+
getShaderNoiseTexture,
|
|
11
12
|
getShaderColorFromString,
|
|
12
13
|
godRaysFragmentShader,
|
|
13
14
|
ShaderFitOptions
|
|
@@ -17,18 +18,18 @@ const defaultPreset = {
|
|
|
17
18
|
name: "Default",
|
|
18
19
|
params: {
|
|
19
20
|
...defaultObjectSizing,
|
|
20
|
-
offsetX:
|
|
21
|
-
offsetY: -0.
|
|
22
|
-
colorBack: "#
|
|
23
|
-
colorBloom: "#
|
|
24
|
-
colors: ["#
|
|
25
|
-
density: 0.
|
|
26
|
-
spotty: 0.
|
|
27
|
-
midIntensity:
|
|
28
|
-
midSize: 0.
|
|
29
|
-
intensity: 0.
|
|
30
|
-
bloom: 0,
|
|
31
|
-
speed:
|
|
21
|
+
offsetX: 0,
|
|
22
|
+
offsetY: -0.55,
|
|
23
|
+
colorBack: "#000000",
|
|
24
|
+
colorBloom: "#0000ff",
|
|
25
|
+
colors: ["#a600ff6e", "#6200fff0", "#ffffff", "#33fff5"],
|
|
26
|
+
density: 0.3,
|
|
27
|
+
spotty: 0.3,
|
|
28
|
+
midIntensity: 0.4,
|
|
29
|
+
midSize: 0.2,
|
|
30
|
+
intensity: 0.8,
|
|
31
|
+
bloom: 0.4,
|
|
32
|
+
speed: 0.75,
|
|
32
33
|
frame: 0
|
|
33
34
|
}
|
|
34
35
|
};
|
|
@@ -124,6 +125,7 @@ const GodRays = memo(function GodRaysImpl({
|
|
|
124
125
|
u_midSize: midSize,
|
|
125
126
|
u_intensity: intensity,
|
|
126
127
|
u_bloom: bloom,
|
|
128
|
+
u_noiseTexture: getShaderNoiseTexture(),
|
|
127
129
|
// Sizing uniforms
|
|
128
130
|
u_fit: ShaderFitOptions[fit],
|
|
129
131
|
u_scale: scale,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/god-rays.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n godRaysFragmentShader,\n ShaderFitOptions,\n type GodRaysParams,\n type GodRaysUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface GodRaysProps extends ShaderComponentProps, GodRaysParams {}\n\ntype GodRaysPreset = ShaderPreset<GodRaysParams>;\n\nexport const defaultPreset: GodRaysPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n offsetX:
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultObjectSizing,\n getShaderNoiseTexture,\n getShaderColorFromString,\n godRaysFragmentShader,\n ShaderFitOptions,\n type GodRaysParams,\n type GodRaysUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface GodRaysProps extends ShaderComponentProps, GodRaysParams {}\n\ntype GodRaysPreset = ShaderPreset<GodRaysParams>;\n\nexport const defaultPreset: GodRaysPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n offsetX: 0,\n offsetY: -0.55,\n colorBack: '#000000',\n colorBloom: '#0000ff',\n colors: ['#a600ff6e', '#6200fff0', '#ffffff', '#33fff5'],\n density: 0.3,\n spotty: 0.3,\n midIntensity: 0.4,\n midSize: 0.2,\n intensity: 0.8,\n bloom: 0.4,\n speed: 0.75,\n frame: 0,\n },\n};\n\nexport const warpPreset: GodRaysPreset = {\n name: 'Warp',\n params: {\n ...defaultObjectSizing,\n colorBack: '#000000',\n colorBloom: '#222288',\n colors: ['#ff00c4', '#ff8c00', '#ffffff'],\n density: 0.45,\n spotty: 0.15,\n midIntensity: 0.4,\n midSize: 0.33,\n intensity: 0.79,\n bloom: 0.4,\n speed: 2,\n frame: 0,\n },\n};\n\nexport const linearPreset: GodRaysPreset = {\n name: 'Linear',\n params: {\n ...defaultObjectSizing,\n offsetX: 0.2,\n offsetY: -0.8,\n colorBack: '#000000',\n colorBloom: '#eeeeee',\n colors: ['#ffffff1f', '#ffffff3d', '#ffffff29'],\n density: 0.41,\n spotty: 0.25,\n midSize: 0.1,\n midIntensity: 0.75,\n intensity: 0.79,\n bloom: 1,\n speed: 0.5,\n frame: 0,\n },\n};\n\nexport const etherPreset: GodRaysPreset = {\n name: 'Ether',\n params: {\n ...defaultObjectSizing,\n offsetX: -0.6,\n colorBack: '#090f1d',\n colorBloom: '#ffffff',\n colors: ['#148effa6', '#c4dffebe', '#232a47'],\n density: 0.03,\n spotty: 0.77,\n midSize: 0.1,\n midIntensity: 0.6,\n intensity: 0.6,\n bloom: 0.6,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const godRaysPresets: GodRaysPreset[] = [defaultPreset, warpPreset, linearPreset, etherPreset];\n\nexport const GodRays: React.FC<GodRaysProps> = memo(function GodRaysImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBloom = defaultPreset.params.colorBloom,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n density = defaultPreset.params.density,\n spotty = defaultPreset.params.spotty,\n midIntensity = defaultPreset.params.midIntensity,\n midSize = defaultPreset.params.midSize,\n intensity = defaultPreset.params.intensity,\n bloom = defaultPreset.params.bloom,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: GodRaysProps) {\n const uniforms = {\n // Own uniforms\n u_colorBloom: getShaderColorFromString(colorBloom),\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_density: density,\n u_spotty: spotty,\n u_midIntensity: midIntensity,\n u_midSize: midSize,\n u_intensity: intensity,\n u_bloom: bloom,\n u_noiseTexture: getShaderNoiseTexture(),\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies GodRaysUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={godRaysFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,12 +3,12 @@ import { type GrainGradientParams, type ShaderPreset } from '@paper-design/shade
|
|
|
3
3
|
export interface GrainGradientProps extends ShaderComponentProps, GrainGradientParams {
|
|
4
4
|
}
|
|
5
5
|
type GrainGradientPreset = ShaderPreset<GrainGradientParams>;
|
|
6
|
+
export declare const defaultPreset: GrainGradientPreset;
|
|
7
|
+
export declare const wavePreset: GrainGradientPreset;
|
|
6
8
|
export declare const dotsPreset: GrainGradientPreset;
|
|
7
9
|
export declare const truchetPreset: GrainGradientPreset;
|
|
8
|
-
export declare const defaultPreset: GrainGradientPreset;
|
|
9
10
|
export declare const ripplePreset: GrainGradientPreset;
|
|
10
11
|
export declare const blobPreset: GrainGradientPreset;
|
|
11
|
-
export declare const moonPreset: GrainGradientPreset;
|
|
12
12
|
export declare const grainGradientPresets: GrainGradientPreset[];
|
|
13
13
|
export declare const GrainGradient: React.FC<GrainGradientProps>;
|
|
14
14
|
export {};
|
|
@@ -15,6 +15,34 @@ import {
|
|
|
15
15
|
GrainGradientShapes
|
|
16
16
|
} from "@paper-design/shaders";
|
|
17
17
|
import { jsx } from "react/jsx-runtime";
|
|
18
|
+
const defaultPreset = {
|
|
19
|
+
name: "Default",
|
|
20
|
+
params: {
|
|
21
|
+
...defaultObjectSizing,
|
|
22
|
+
speed: 1,
|
|
23
|
+
frame: 0,
|
|
24
|
+
colorBack: "#000000",
|
|
25
|
+
colors: ["#7300ff", "#eba8ff", "#00bfff", "#2a00ff"],
|
|
26
|
+
softness: 0.5,
|
|
27
|
+
intensity: 0.5,
|
|
28
|
+
noise: 1,
|
|
29
|
+
shape: "corners"
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const wavePreset = {
|
|
33
|
+
name: "Wave",
|
|
34
|
+
params: {
|
|
35
|
+
...defaultPatternSizing,
|
|
36
|
+
speed: 1,
|
|
37
|
+
frame: 0,
|
|
38
|
+
colorBack: "#000a0f",
|
|
39
|
+
colors: ["#c4730b", "#bdad5f", "#d8ccc7"],
|
|
40
|
+
softness: 0.7,
|
|
41
|
+
intensity: 0.15,
|
|
42
|
+
noise: 0.5,
|
|
43
|
+
shape: "wave"
|
|
44
|
+
}
|
|
45
|
+
};
|
|
18
46
|
const dotsPreset = {
|
|
19
47
|
name: "Dots",
|
|
20
48
|
params: {
|
|
@@ -44,20 +72,6 @@ const truchetPreset = {
|
|
|
44
72
|
shape: "truchet"
|
|
45
73
|
}
|
|
46
74
|
};
|
|
47
|
-
const defaultPreset = {
|
|
48
|
-
name: "Default",
|
|
49
|
-
params: {
|
|
50
|
-
...defaultObjectSizing,
|
|
51
|
-
speed: 1,
|
|
52
|
-
frame: 0,
|
|
53
|
-
colorBack: "#031018",
|
|
54
|
-
colors: ["#00aeff", "#00ffcc", "#ffc800"],
|
|
55
|
-
softness: 0.4,
|
|
56
|
-
intensity: 0.35,
|
|
57
|
-
noise: 0.35,
|
|
58
|
-
shape: "corners"
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
75
|
const ripplePreset = {
|
|
62
76
|
name: "Ripple",
|
|
63
77
|
params: {
|
|
@@ -88,29 +102,13 @@ const blobPreset = {
|
|
|
88
102
|
shape: "blob"
|
|
89
103
|
}
|
|
90
104
|
};
|
|
91
|
-
const moonPreset = {
|
|
92
|
-
name: "Moon",
|
|
93
|
-
params: {
|
|
94
|
-
...defaultObjectSizing,
|
|
95
|
-
scale: 0.6,
|
|
96
|
-
speed: 1,
|
|
97
|
-
frame: 0,
|
|
98
|
-
colorBack: "#000000",
|
|
99
|
-
colors: ["#000000", "#28272d", "#ffeccc"],
|
|
100
|
-
softness: 1,
|
|
101
|
-
intensity: 0.56,
|
|
102
|
-
noise: 1,
|
|
103
|
-
shape: "sphere"
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
105
|
const grainGradientPresets = [
|
|
107
106
|
defaultPreset,
|
|
108
|
-
|
|
107
|
+
wavePreset,
|
|
109
108
|
dotsPreset,
|
|
110
109
|
truchetPreset,
|
|
111
110
|
ripplePreset,
|
|
112
|
-
blobPreset
|
|
113
|
-
moonPreset
|
|
111
|
+
blobPreset
|
|
114
112
|
];
|
|
115
113
|
const GrainGradient = memo(function GrainGradientImpl({
|
|
116
114
|
// Own props
|
|
@@ -134,7 +132,6 @@ const GrainGradient = memo(function GrainGradientImpl({
|
|
|
134
132
|
worldHeight = defaultPreset.params.worldHeight,
|
|
135
133
|
...props
|
|
136
134
|
}) {
|
|
137
|
-
const noiseTexture = typeof window !== "undefined" && { u_noiseTexture: getShaderNoiseTexture() };
|
|
138
135
|
const uniforms = {
|
|
139
136
|
// Own uniforms
|
|
140
137
|
u_colorBack: getShaderColorFromString(colorBack),
|
|
@@ -144,7 +141,7 @@ const GrainGradient = memo(function GrainGradientImpl({
|
|
|
144
141
|
u_intensity: intensity,
|
|
145
142
|
u_noise: noise,
|
|
146
143
|
u_shape: GrainGradientShapes[shape],
|
|
147
|
-
|
|
144
|
+
u_noiseTexture: getShaderNoiseTexture(),
|
|
148
145
|
// Sizing uniforms
|
|
149
146
|
u_fit: ShaderFitOptions[fit],
|
|
150
147
|
u_scale: scale,
|
|
@@ -173,8 +170,8 @@ export {
|
|
|
173
170
|
defaultPreset,
|
|
174
171
|
dotsPreset,
|
|
175
172
|
grainGradientPresets,
|
|
176
|
-
moonPreset,
|
|
177
173
|
ripplePreset,
|
|
178
|
-
truchetPreset
|
|
174
|
+
truchetPreset,
|
|
175
|
+
wavePreset
|
|
179
176
|
};
|
|
180
177
|
//# sourceMappingURL=grain-gradient.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/grain-gradient.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n getShaderColorFromString,\n getShaderNoiseTexture,\n grainGradientFragmentShader,\n ShaderFitOptions,\n type GrainGradientUniforms,\n type GrainGradientParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n GrainGradientShapes,\n} from '@paper-design/shaders';\n\nexport interface GrainGradientProps extends ShaderComponentProps, GrainGradientParams {}\n\ntype GrainGradientPreset = ShaderPreset<GrainGradientParams>;\n\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n getShaderColorFromString,\n getShaderNoiseTexture,\n grainGradientFragmentShader,\n ShaderFitOptions,\n type GrainGradientUniforms,\n type GrainGradientParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n GrainGradientShapes,\n} from '@paper-design/shaders';\n\nexport interface GrainGradientProps extends ShaderComponentProps, GrainGradientParams {}\n\ntype GrainGradientPreset = ShaderPreset<GrainGradientParams>;\n\nexport const defaultPreset: GrainGradientPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colors: ['#7300ff', '#eba8ff', '#00bfff', '#2a00ff'],\n softness: 0.5,\n intensity: 0.5,\n noise: 1,\n shape: 'corners',\n },\n};\n\nexport const wavePreset: GrainGradientPreset = {\n name: 'Wave',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000a0f',\n colors: ['#c4730b', '#bdad5f', '#d8ccc7'],\n softness: 0.7,\n intensity: 0.15,\n noise: 0.5,\n shape: 'wave',\n },\n};\n\nexport const dotsPreset: GrainGradientPreset = {\n name: 'Dots',\n params: {\n ...defaultPatternSizing,\n scale: 0.6,\n speed: 1,\n frame: 0,\n colorBack: '#0a0000',\n colors: ['#6f0000', '#0080ff', '#f2ebc9', '#33cc33'],\n softness: 1,\n intensity: 1,\n noise: 0.7,\n shape: 'dots',\n },\n};\n\nexport const truchetPreset: GrainGradientPreset = {\n name: 'Truchet',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#0a0000',\n colors: ['#6f2200', '#eabb7c', '#39b523'],\n softness: 0,\n intensity: 0.2,\n noise: 1,\n shape: 'truchet',\n },\n};\n\nexport const ripplePreset: GrainGradientPreset = {\n name: 'Ripple',\n params: {\n ...defaultObjectSizing,\n scale: 0.5,\n speed: 1,\n frame: 0,\n colorBack: '#140a00',\n colors: ['#6f2d00', '#88ddae', '#2c0b1d'],\n softness: 0.5,\n intensity: 0.5,\n noise: 0.5,\n shape: 'ripple',\n },\n};\n\nexport const blobPreset: GrainGradientPreset = {\n name: 'Blob',\n params: {\n ...defaultObjectSizing,\n scale: 1.3,\n speed: 1,\n frame: 0,\n colorBack: '#0f0e18',\n colors: ['#3e6172', '#a49b74', '#568c50'],\n softness: 0,\n intensity: 0.15,\n noise: 0.5,\n shape: 'blob',\n },\n};\n\nexport const grainGradientPresets: GrainGradientPreset[] = [\n defaultPreset,\n wavePreset,\n dotsPreset,\n truchetPreset,\n ripplePreset,\n blobPreset,\n];\n\nexport const GrainGradient: React.FC<GrainGradientProps> = memo(function GrainGradientImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n softness = defaultPreset.params.softness,\n intensity = defaultPreset.params.intensity,\n noise = defaultPreset.params.noise,\n shape = defaultPreset.params.shape,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: GrainGradientProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_softness: softness,\n u_intensity: intensity,\n u_noise: noise,\n u_shape: GrainGradientShapes[shape],\n u_noiseTexture: getShaderNoiseTexture(),\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies GrainGradientUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={grainGradientFragmentShader}\n uniforms={uniforms}\n />\n );\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
|
+
import { type ImageDitheringParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
|
+
export interface ImageDitheringProps extends ShaderComponentProps, ImageDitheringParams {
|
|
4
|
+
}
|
|
5
|
+
type ImageDitheringPreset = ShaderPreset<ImageDitheringParams>;
|
|
6
|
+
export declare const defaultPreset: ImageDitheringPreset;
|
|
7
|
+
export declare const retroPreset: ImageDitheringPreset;
|
|
8
|
+
export declare const noisePreset: ImageDitheringPreset;
|
|
9
|
+
export declare const naturalPreset: ImageDitheringPreset;
|
|
10
|
+
export declare const imageDitheringPresets: ImageDitheringPreset[];
|
|
11
|
+
export declare const ImageDithering: React.FC<ImageDitheringProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
2
|
+
* Paper Shaders *
|
|
3
|
+
* https://github.com/paper-design/shaders *
|
|
4
|
+
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
|
+
|
|
6
|
+
import { memo } from "react";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
|
+
import { colorPropsAreEqual } from "../color-props-are-equal.js";
|
|
9
|
+
import {
|
|
10
|
+
imageDitheringFragmentShader,
|
|
11
|
+
getShaderColorFromString,
|
|
12
|
+
ShaderFitOptions,
|
|
13
|
+
defaultObjectSizing,
|
|
14
|
+
DitheringTypes
|
|
15
|
+
} from "@paper-design/shaders";
|
|
16
|
+
import { jsx } from "react/jsx-runtime";
|
|
17
|
+
const defaultPreset = {
|
|
18
|
+
name: "Default",
|
|
19
|
+
params: {
|
|
20
|
+
...defaultObjectSizing,
|
|
21
|
+
// fit: 'cover',
|
|
22
|
+
// scale: 0.95,
|
|
23
|
+
speed: 0,
|
|
24
|
+
frame: 0,
|
|
25
|
+
colorFront: "#94ffaf",
|
|
26
|
+
colorBack: "#000c38",
|
|
27
|
+
colorHighlight: "#eaff94",
|
|
28
|
+
image: "/images/image-filters/0018.webp",
|
|
29
|
+
type: "8x8",
|
|
30
|
+
pxSize: 2,
|
|
31
|
+
colorSteps: 2,
|
|
32
|
+
originalColors: false
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const retroPreset = {
|
|
36
|
+
name: "Retro",
|
|
37
|
+
params: {
|
|
38
|
+
...defaultObjectSizing,
|
|
39
|
+
speed: 0,
|
|
40
|
+
frame: 0,
|
|
41
|
+
colorFront: "#eeeeee",
|
|
42
|
+
colorBack: "#5452ff",
|
|
43
|
+
colorHighlight: "#eeeeee",
|
|
44
|
+
image: "/images/image-filters/0018.webp",
|
|
45
|
+
type: "2x2",
|
|
46
|
+
pxSize: 3,
|
|
47
|
+
colorSteps: 1,
|
|
48
|
+
originalColors: true
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const noisePreset = {
|
|
52
|
+
name: "Noise",
|
|
53
|
+
params: {
|
|
54
|
+
...defaultObjectSizing,
|
|
55
|
+
speed: 0,
|
|
56
|
+
frame: 0,
|
|
57
|
+
colorFront: "#a2997c",
|
|
58
|
+
colorBack: "#000000",
|
|
59
|
+
colorHighlight: "#ededed",
|
|
60
|
+
image: "/images/image-filters/0018.webp",
|
|
61
|
+
type: "random",
|
|
62
|
+
pxSize: 1,
|
|
63
|
+
colorSteps: 1,
|
|
64
|
+
originalColors: false
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const naturalPreset = {
|
|
68
|
+
name: "Natural",
|
|
69
|
+
params: {
|
|
70
|
+
...defaultObjectSizing,
|
|
71
|
+
speed: 0,
|
|
72
|
+
frame: 0,
|
|
73
|
+
colorFront: "#ffffff",
|
|
74
|
+
colorBack: "#000000",
|
|
75
|
+
colorHighlight: "#ffffff",
|
|
76
|
+
image: "/images/image-filters/0018.webp",
|
|
77
|
+
type: "8x8",
|
|
78
|
+
pxSize: 2,
|
|
79
|
+
colorSteps: 5,
|
|
80
|
+
originalColors: true
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const imageDitheringPresets = [defaultPreset, noisePreset, retroPreset, naturalPreset];
|
|
84
|
+
const ImageDithering = memo(function ImageDitheringImpl({
|
|
85
|
+
// Own props
|
|
86
|
+
speed = defaultPreset.params.speed,
|
|
87
|
+
frame = defaultPreset.params.frame,
|
|
88
|
+
colorFront = defaultPreset.params.colorFront,
|
|
89
|
+
colorBack = defaultPreset.params.colorBack,
|
|
90
|
+
colorHighlight = defaultPreset.params.colorHighlight,
|
|
91
|
+
image = defaultPreset.params.image,
|
|
92
|
+
type = defaultPreset.params.type,
|
|
93
|
+
pxSize = defaultPreset.params.pxSize,
|
|
94
|
+
colorSteps = defaultPreset.params.colorSteps,
|
|
95
|
+
originalColors = defaultPreset.params.originalColors,
|
|
96
|
+
// Sizing props
|
|
97
|
+
fit = defaultPreset.params.fit,
|
|
98
|
+
scale = defaultPreset.params.scale,
|
|
99
|
+
rotation = defaultPreset.params.rotation,
|
|
100
|
+
originX = defaultPreset.params.originX,
|
|
101
|
+
originY = defaultPreset.params.originY,
|
|
102
|
+
offsetX = defaultPreset.params.offsetX,
|
|
103
|
+
offsetY = defaultPreset.params.offsetY,
|
|
104
|
+
worldWidth = defaultPreset.params.worldWidth,
|
|
105
|
+
worldHeight = defaultPreset.params.worldHeight,
|
|
106
|
+
...props
|
|
107
|
+
}) {
|
|
108
|
+
const uniforms = {
|
|
109
|
+
// Own uniforms
|
|
110
|
+
u_image: image,
|
|
111
|
+
u_colorFront: getShaderColorFromString(colorFront),
|
|
112
|
+
u_colorBack: getShaderColorFromString(colorBack),
|
|
113
|
+
u_colorHighlight: getShaderColorFromString(colorHighlight),
|
|
114
|
+
u_type: DitheringTypes[type],
|
|
115
|
+
u_pxSize: pxSize,
|
|
116
|
+
u_colorSteps: colorSteps,
|
|
117
|
+
u_originalColors: originalColors,
|
|
118
|
+
// Sizing uniforms
|
|
119
|
+
u_fit: ShaderFitOptions[fit],
|
|
120
|
+
u_rotation: rotation,
|
|
121
|
+
u_scale: scale,
|
|
122
|
+
u_offsetX: offsetX,
|
|
123
|
+
u_offsetY: offsetY,
|
|
124
|
+
u_originX: originX,
|
|
125
|
+
u_originY: originY,
|
|
126
|
+
u_worldWidth: worldWidth,
|
|
127
|
+
u_worldHeight: worldHeight
|
|
128
|
+
};
|
|
129
|
+
return /* @__PURE__ */ jsx(
|
|
130
|
+
ShaderMount,
|
|
131
|
+
{
|
|
132
|
+
...props,
|
|
133
|
+
speed,
|
|
134
|
+
frame,
|
|
135
|
+
fragmentShader: imageDitheringFragmentShader,
|
|
136
|
+
uniforms
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
}, colorPropsAreEqual);
|
|
140
|
+
export {
|
|
141
|
+
ImageDithering,
|
|
142
|
+
defaultPreset,
|
|
143
|
+
imageDitheringPresets,
|
|
144
|
+
naturalPreset,
|
|
145
|
+
noisePreset,
|
|
146
|
+
retroPreset
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=image-dithering.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/shaders/image-dithering.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n imageDitheringFragmentShader,\n getShaderColorFromString,\n ShaderFitOptions,\n type ImageDitheringUniforms,\n type ImageDitheringParams,\n type ShaderPreset,\n defaultObjectSizing,\n DitheringTypes,\n} from '@paper-design/shaders';\n\nexport interface ImageDitheringProps extends ShaderComponentProps, ImageDitheringParams {}\n\ntype ImageDitheringPreset = ShaderPreset<ImageDitheringParams>;\n\nexport const defaultPreset: ImageDitheringPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n // fit: 'cover',\n // scale: 0.95,\n speed: 0,\n frame: 0,\n colorFront: '#94ffaf',\n colorBack: '#000c38',\n colorHighlight: '#eaff94',\n image: '/images/image-filters/0018.webp',\n type: '8x8',\n pxSize: 2,\n colorSteps: 2,\n originalColors: false,\n },\n} as const;\n\nexport const retroPreset: ImageDitheringPreset = {\n name: 'Retro',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colorFront: '#eeeeee',\n colorBack: '#5452ff',\n colorHighlight: '#eeeeee',\n image: '/images/image-filters/0018.webp',\n type: '2x2',\n pxSize: 3,\n colorSteps: 1,\n originalColors: true,\n },\n} as const;\n\nexport const noisePreset: ImageDitheringPreset = {\n name: 'Noise',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colorFront: '#a2997c',\n colorBack: '#000000',\n colorHighlight: '#ededed',\n image: '/images/image-filters/0018.webp',\n type: 'random',\n pxSize: 1,\n colorSteps: 1,\n originalColors: false,\n },\n} as const;\n\nexport const naturalPreset: ImageDitheringPreset = {\n name: 'Natural',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colorFront: '#ffffff',\n colorBack: '#000000',\n colorHighlight: '#ffffff',\n image: '/images/image-filters/0018.webp',\n type: '8x8',\n pxSize: 2,\n colorSteps: 5,\n originalColors: true,\n },\n} as const;\n\nexport const imageDitheringPresets: ImageDitheringPreset[] = [defaultPreset, noisePreset, retroPreset, naturalPreset];\n\nexport const ImageDithering: React.FC<ImageDitheringProps> = memo(function ImageDitheringImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorFront = defaultPreset.params.colorFront,\n colorBack = defaultPreset.params.colorBack,\n colorHighlight = defaultPreset.params.colorHighlight,\n image = defaultPreset.params.image,\n type = defaultPreset.params.type,\n pxSize = defaultPreset.params.pxSize,\n colorSteps = defaultPreset.params.colorSteps,\n originalColors = defaultPreset.params.originalColors,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: ImageDitheringProps) {\n const uniforms = {\n // Own uniforms\n u_image: image,\n u_colorFront: getShaderColorFromString(colorFront),\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorHighlight: getShaderColorFromString(colorHighlight),\n u_type: DitheringTypes[type],\n u_pxSize: pxSize,\n u_colorSteps: colorSteps,\n u_originalColors: originalColors,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_rotation: rotation,\n u_scale: scale,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies ImageDitheringUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={imageDitheringFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -4,9 +4,9 @@ export interface LiquidMetalProps extends ShaderComponentProps, LiquidMetalParam
|
|
|
4
4
|
}
|
|
5
5
|
type LiquidMetalPreset = ShaderPreset<LiquidMetalParams>;
|
|
6
6
|
export declare const defaultPreset: LiquidMetalPreset;
|
|
7
|
-
export declare const fullScreenPreset: LiquidMetalPreset;
|
|
8
|
-
export declare const spherePreset: LiquidMetalPreset;
|
|
9
7
|
export declare const dropsPreset: LiquidMetalPreset;
|
|
8
|
+
export declare const containedPreset: LiquidMetalPreset;
|
|
9
|
+
export declare const fullScreenPreset: LiquidMetalPreset;
|
|
10
10
|
export declare const liquidMetalPresets: LiquidMetalPreset[];
|
|
11
11
|
export declare const LiquidMetal: React.FC<LiquidMetalProps>;
|
|
12
12
|
export {};
|