@paper-design/shaders-react 0.0.45 → 0.0.47
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 +14 -0
- package/dist/index.js.map +2 -2
- package/dist/shaders/color-panels.js +12 -11
- package/dist/shaders/color-panels.js.map +2 -2
- package/dist/shaders/dithering.d.ts +1 -1
- package/dist/shaders/dithering.js +12 -11
- 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 +8 -6
- package/dist/shaders/dot-orbit.js.map +2 -2
- package/dist/shaders/fluted-glass.d.ts +12 -0
- package/dist/shaders/fluted-glass.js +181 -0
- package/dist/shaders/fluted-glass.js.map +7 -0
- package/dist/shaders/god-rays.js +15 -13
- package/dist/shaders/god-rays.js.map +2 -2
- package/dist/shaders/grain-gradient.d.ts +2 -2
- package/dist/shaders/grain-gradient.js +32 -34
- 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 +197 -0
- package/dist/shaders/paper-texture.js.map +7 -0
- package/dist/shaders/perlin-noise.js +4 -4
- package/dist/shaders/perlin-noise.js.map +1 -1
- package/dist/shaders/pulsing-border.js +28 -28
- package/dist/shaders/pulsing-border.js.map +2 -2
- package/dist/shaders/simplex-noise.js +3 -3
- package/dist/shaders/simplex-noise.js.map +1 -1
- package/dist/shaders/smoke-ring.d.ts +1 -1
- package/dist/shaders/smoke-ring.js +23 -20
- 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 +29 -20
- package/dist/shaders/swirl.js.map +2 -2
- package/dist/shaders/voronoi.js +8 -7
- 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 +149 -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 +3 -3
|
@@ -0,0 +1,181 @@
|
|
|
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: "https://shaders.paper.design/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
|
+
fit: "cover",
|
|
44
|
+
speed: 0,
|
|
45
|
+
frame: 0,
|
|
46
|
+
image: "https://shaders.paper.design/images/image-filters/0018.webp",
|
|
47
|
+
count: 20,
|
|
48
|
+
angle: 0,
|
|
49
|
+
distortionShape: "\u0441ontour",
|
|
50
|
+
shape: "wave",
|
|
51
|
+
distortion: 0.3,
|
|
52
|
+
shift: 0,
|
|
53
|
+
blur: 0,
|
|
54
|
+
highlights: 0,
|
|
55
|
+
marginLeft: 0,
|
|
56
|
+
marginRight: 0,
|
|
57
|
+
marginTop: 0,
|
|
58
|
+
marginBottom: 0
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const irregularPreset = {
|
|
62
|
+
name: "Irregular lines",
|
|
63
|
+
params: {
|
|
64
|
+
...defaultObjectSizing,
|
|
65
|
+
fit: "cover",
|
|
66
|
+
scale: 4,
|
|
67
|
+
speed: 0,
|
|
68
|
+
frame: 0,
|
|
69
|
+
image: "https://shaders.paper.design/images/image-filters/0018.webp",
|
|
70
|
+
count: 32,
|
|
71
|
+
angle: 150,
|
|
72
|
+
distortionShape: "facete",
|
|
73
|
+
shape: "linesIrregular",
|
|
74
|
+
distortion: 1,
|
|
75
|
+
shift: 0,
|
|
76
|
+
blur: 25,
|
|
77
|
+
highlights: 1,
|
|
78
|
+
marginLeft: 0,
|
|
79
|
+
marginRight: 0,
|
|
80
|
+
marginTop: 0,
|
|
81
|
+
marginBottom: 0
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const foldsPreset = {
|
|
85
|
+
name: "Folds",
|
|
86
|
+
params: {
|
|
87
|
+
...defaultObjectSizing,
|
|
88
|
+
fit: "cover",
|
|
89
|
+
speed: 0,
|
|
90
|
+
frame: 0,
|
|
91
|
+
image: "https://shaders.paper.design/images/image-filters/0018.webp",
|
|
92
|
+
count: 50,
|
|
93
|
+
angle: 0,
|
|
94
|
+
distortionShape: "\u0441ascade",
|
|
95
|
+
shape: "lines",
|
|
96
|
+
distortion: 0.75,
|
|
97
|
+
shift: 0,
|
|
98
|
+
blur: 0,
|
|
99
|
+
highlights: 0,
|
|
100
|
+
marginLeft: 0.05,
|
|
101
|
+
marginRight: 0.05,
|
|
102
|
+
marginTop: 0.2,
|
|
103
|
+
marginBottom: 0.2
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
const flutedGlassPresets = [defaultPreset, irregularPreset, wavesPreset, foldsPreset];
|
|
107
|
+
const FlutedGlass = memo(function FlutedGlassImpl({
|
|
108
|
+
// Own props
|
|
109
|
+
speed = defaultPreset.params.speed,
|
|
110
|
+
frame = defaultPreset.params.frame,
|
|
111
|
+
image = defaultPreset.params.image,
|
|
112
|
+
count = defaultPreset.params.count,
|
|
113
|
+
angle = defaultPreset.params.angle,
|
|
114
|
+
distortion = defaultPreset.params.distortion,
|
|
115
|
+
distortionShape = defaultPreset.params.distortionShape,
|
|
116
|
+
shape = defaultPreset.params.shape,
|
|
117
|
+
shift = defaultPreset.params.shift,
|
|
118
|
+
blur = defaultPreset.params.blur,
|
|
119
|
+
marginLeft = defaultPreset.params.marginLeft,
|
|
120
|
+
marginRight = defaultPreset.params.marginRight,
|
|
121
|
+
marginTop = defaultPreset.params.marginTop,
|
|
122
|
+
marginBottom = defaultPreset.params.marginBottom,
|
|
123
|
+
highlights = defaultPreset.params.highlights,
|
|
124
|
+
// Sizing props
|
|
125
|
+
fit = defaultPreset.params.fit,
|
|
126
|
+
scale = defaultPreset.params.scale,
|
|
127
|
+
rotation = defaultPreset.params.rotation,
|
|
128
|
+
originX = defaultPreset.params.originX,
|
|
129
|
+
originY = defaultPreset.params.originY,
|
|
130
|
+
offsetX = defaultPreset.params.offsetX,
|
|
131
|
+
offsetY = defaultPreset.params.offsetY,
|
|
132
|
+
worldWidth = defaultPreset.params.worldWidth,
|
|
133
|
+
worldHeight = defaultPreset.params.worldHeight,
|
|
134
|
+
...props
|
|
135
|
+
}) {
|
|
136
|
+
const uniforms = {
|
|
137
|
+
// Own uniforms
|
|
138
|
+
u_image: image,
|
|
139
|
+
u_count: count,
|
|
140
|
+
u_angle: angle,
|
|
141
|
+
u_distortion: distortion,
|
|
142
|
+
u_shift: shift,
|
|
143
|
+
u_blur: blur,
|
|
144
|
+
u_highlights: highlights,
|
|
145
|
+
u_distortionShape: GlassDistortionShapes[distortionShape],
|
|
146
|
+
u_shape: GlassGridShapes[shape],
|
|
147
|
+
u_marginLeft: marginLeft,
|
|
148
|
+
u_marginRight: marginRight,
|
|
149
|
+
u_marginTop: marginTop,
|
|
150
|
+
u_marginBottom: marginBottom,
|
|
151
|
+
// Sizing uniforms
|
|
152
|
+
u_fit: ShaderFitOptions[fit],
|
|
153
|
+
u_scale: scale,
|
|
154
|
+
u_rotation: rotation,
|
|
155
|
+
u_offsetX: offsetX,
|
|
156
|
+
u_offsetY: offsetY,
|
|
157
|
+
u_originX: originX,
|
|
158
|
+
u_originY: originY,
|
|
159
|
+
u_worldWidth: worldWidth,
|
|
160
|
+
u_worldHeight: worldHeight
|
|
161
|
+
};
|
|
162
|
+
return /* @__PURE__ */ jsx(
|
|
163
|
+
ShaderMount,
|
|
164
|
+
{
|
|
165
|
+
...props,
|
|
166
|
+
speed,
|
|
167
|
+
frame,
|
|
168
|
+
fragmentShader: flutedGlassFragmentShader,
|
|
169
|
+
uniforms
|
|
170
|
+
}
|
|
171
|
+
);
|
|
172
|
+
});
|
|
173
|
+
export {
|
|
174
|
+
FlutedGlass,
|
|
175
|
+
defaultPreset,
|
|
176
|
+
flutedGlassPresets,
|
|
177
|
+
foldsPreset,
|
|
178
|
+
irregularPreset,
|
|
179
|
+
wavesPreset
|
|
180
|
+
};
|
|
181
|
+
//# 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: 'https://shaders.paper.design/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 fit: 'cover',\n speed: 0,\n frame: 0,\n image: 'https://shaders.paper.design/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 fit: 'cover',\n scale: 4,\n speed: 0,\n frame: 0,\n image: 'https://shaders.paper.design/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 fit: 'cover',\n speed: 0,\n frame: 0,\n image: 'https://shaders.paper.design/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.05,\n marginRight: 0.05,\n marginTop: 0.2,\n marginBottom: 0.2,\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
|
};
|
|
@@ -38,7 +39,7 @@ const warpPreset = {
|
|
|
38
39
|
...defaultObjectSizing,
|
|
39
40
|
colorBack: "#000000",
|
|
40
41
|
colorBloom: "#222288",
|
|
41
|
-
colors: ["#
|
|
42
|
+
colors: ["#ff47d4", "#ff8c00", "#ffffff"],
|
|
42
43
|
density: 0.45,
|
|
43
44
|
spotty: 0.15,
|
|
44
45
|
midIntensity: 0.4,
|
|
@@ -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: ['#ff47d4', '#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": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AA0IH;AApIG,MAAM,gBAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,aAAa,aAAa,WAAW,SAAS;AAAA,IACvD,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,aAA4B;AAAA,EACvC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,eAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,aAAa,aAAa,WAAW;AAAA,IAC9C,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,cAAc;AAAA,IACd,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,cAA6B;AAAA,EACxC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,aAAa,aAAa,SAAS;AAAA,IAC5C,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,cAAc;AAAA,IACd,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,iBAAkC,CAAC,eAAe,YAAY,cAAc,WAAW;AAE7F,MAAM,UAAkC,KAAK,SAAS,YAAY;AAAA;AAAA,EAEvE,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,aAAa,cAAc,OAAO;AAAA,EAClC,YAAY,cAAc,OAAO;AAAA,EACjC,SAAS,cAAc,OAAO;AAAA,EAC9B,UAAU,cAAc,OAAO;AAAA,EAC/B,SAAS,cAAc,OAAO;AAAA,EAC9B,eAAe,cAAc,OAAO;AAAA,EACpC,UAAU,cAAc,OAAO;AAAA,EAC/B,YAAY,cAAc,OAAO;AAAA,EACjC,QAAQ,cAAc,OAAO;AAAA;AAAA,EAG7B,MAAM,cAAc,OAAO;AAAA,EAC3B,QAAQ,cAAc,OAAO;AAAA,EAC7B,WAAW,cAAc,OAAO;AAAA,EAChC,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,aAAa,cAAc,OAAO;AAAA,EAClC,cAAc,cAAc,OAAO;AAAA,EACnC,GAAG;AACL,GAAiB;AACf,QAAM,WAAW;AAAA;AAAA,IAEf,cAAc,yBAAyB,UAAU;AAAA,IACjD,aAAa,yBAAyB,SAAS;AAAA,IAC/C,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,aAAa;AAAA,IACb,SAAS;AAAA,IACT,gBAAgB,sBAAsB;AAAA;AAAA,IAGtC,OAAO,iBAAiB,GAAG;AAAA,IAC3B,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,EACjB;AAEA,SACE,oBAAC,eAAa,GAAG,OAAO,OAAc,OAAc,gBAAgB,uBAAuB,UAAoB;AAEnH,GAAG,kBAAkB;",
|
|
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: 0.25,
|
|
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
|
|
@@ -172,8 +170,8 @@ export {
|
|
|
172
170
|
defaultPreset,
|
|
173
171
|
dotsPreset,
|
|
174
172
|
grainGradientPresets,
|
|
175
|
-
moonPreset,
|
|
176
173
|
ripplePreset,
|
|
177
|
-
truchetPreset
|
|
174
|
+
truchetPreset,
|
|
175
|
+
wavePreset
|
|
178
176
|
};
|
|
179
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: 0.25,\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: "https://shaders.paper.design/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: "https://shaders.paper.design/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: "https://shaders.paper.design/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: "https://shaders.paper.design/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: 'https://shaders.paper.design/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: 'https://shaders.paper.design/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: 'https://shaders.paper.design/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: 'https://shaders.paper.design/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 {};
|