Skip to content

Commit f4b1a82

Browse files
author
takuma-hmng8
committed
add hsv to chunk
1 parent 606db23 commit f4b1a82

File tree

12 files changed

+361
-351
lines changed

12 files changed

+361
-351
lines changed

packages/use-shader-fx/build/use-shader-fx.js

Lines changed: 273 additions & 271 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/build/use-shader-fx.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/build/use-shader-fx.umd.cjs

Lines changed: 56 additions & 56 deletions
Large diffs are not rendered by default.

packages/use-shader-fx/build/use-shader-fx.umd.cjs.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@funtech-inc/use-shader-fx",
3-
"version": "1.1.35",
3+
"version": "1.1.36",
44
"description": "⚡️ More FXs, Less GLSL",
55
"main": "./build/use-shader-fx.umd.cjs",
66
"module": "./build/use-shader-fx.js",

packages/use-shader-fx/src/fxs/utils/useHSV/shader/main.frag

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,9 @@ uniform sampler2D u_texture;
55
uniform float u_brightness;
66
uniform float u_saturation;
77

8-
vec3 rgb2hsv(vec3 c)
9-
{
10-
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
11-
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
12-
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
8+
#usf <rgb2hsv>
139

14-
float d = q.x - min(q.w, q.y);
15-
float e = 1.0e-10;
16-
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
17-
}
18-
19-
vec3 hsv2rgb(vec3 c)
20-
{
21-
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
22-
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
23-
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
24-
}
10+
#usf <hsv2rgb>
2511

2612
void main() {
2713
vec4 tex = texture2D(u_texture, vUv);

packages/use-shader-fx/src/libs/shaders/ShaderChunk.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@ import coverTexture from "./shaderChunk/coverTexture.glsl";
44
import fxBlending from "./shaderChunk/fxBlending.glsl";
55
import planeVertex from "./shaderChunk/planeVertex.glsl";
66
import defaultVertex from "./shaderChunk/defaultVertex.glsl";
7+
import hsv2rgb from "./shaderChunk/hsv2rgb.glsl";
8+
import rgb2hsv from "./shaderChunk/rgb2hsv.glsl";
79

810
export type ShaderChunkTypes =
911
| "wobble3D"
1012
| "snoise"
1113
| "coverTexture"
1214
| "fxBlending"
1315
| "planeVertex"
14-
| "defaultVertex";
16+
| "defaultVertex"
17+
| "hsv2rgb"
18+
| "rgb2hsv";
1519

1620
export const ShaderChunk: { [K in ShaderChunkTypes]: string } = Object.freeze({
1721
wobble3D,
@@ -20,4 +24,6 @@ export const ShaderChunk: { [K in ShaderChunkTypes]: string } = Object.freeze({
2024
fxBlending,
2125
planeVertex,
2226
defaultVertex,
27+
hsv2rgb,
28+
rgb2hsv,
2329
});
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
vec3 hsv2rgb(vec3 c)
2+
{
3+
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
4+
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
5+
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
6+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
vec3 rgb2hsv(vec3 c)
2+
{
3+
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
4+
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
5+
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
6+
7+
float d = q.x - min(q.w, q.y);
8+
float e = 1.0e-10;
9+
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
10+
}

0 commit comments

Comments
 (0)