added box mateial wrapper
This commit is contained in:
42
app/src/assets/shaders/plane/plane1.frag.glsl
Normal file
42
app/src/assets/shaders/plane/plane1.frag.glsl
Normal file
@@ -0,0 +1,42 @@
|
||||
#define TAU 6.28318530718
|
||||
#define MAX_ITER 5
|
||||
|
||||
varying vec2 vUv;
|
||||
uniform float uTime;
|
||||
uniform vec3 uOuterColor;
|
||||
|
||||
void main() {
|
||||
float time = uTime * 0.25;
|
||||
vec2 uv = vUv;
|
||||
|
||||
vec2 p = mod(uv * TAU, TAU) - 250.0;
|
||||
vec2 i = vec2(p);
|
||||
|
||||
float c = 1.0;
|
||||
float inten = 0.005;
|
||||
|
||||
for (int n = 0; n < MAX_ITER; n++) {
|
||||
float t = time * (1.0 - (3.5 / float(n + 1)));
|
||||
i = p + vec2(
|
||||
cos(t - i.x) + sin(t + i.y),
|
||||
sin(t - i.y) + cos(t + i.x)
|
||||
);
|
||||
c += 1.0 / length(vec2(
|
||||
p.x / (sin(i.x + t) / inten),
|
||||
p.y / (cos(i.y + t) / inten)
|
||||
));
|
||||
}
|
||||
|
||||
c /= float(MAX_ITER);
|
||||
c = 1.17 - pow(c, 1.4);
|
||||
|
||||
vec3 fractalCol = vec3(pow(abs(c), 8.0));
|
||||
fractalCol = clamp(fractalCol + vec3(0.0, 0.35, 0.5), 0.0, 1.0);
|
||||
|
||||
vec3 darkColor = uOuterColor * 0.4;
|
||||
vec3 col = mix(darkColor, uOuterColor, fractalCol.r);
|
||||
|
||||
float verticalFade = 1.0 - vUv.y;
|
||||
|
||||
gl_FragColor = vec4(col * verticalFade, verticalFade);
|
||||
}
|
||||
6
app/src/assets/shaders/plane/plane1.vert.glsl
Normal file
6
app/src/assets/shaders/plane/plane1.vert.glsl
Normal file
@@ -0,0 +1,6 @@
|
||||
varying vec2 vUv;
|
||||
|
||||
void main() {
|
||||
vUv = uv;
|
||||
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
||||
}
|
||||
25
app/src/assets/shaders/plane/plane2.frag.glsl
Normal file
25
app/src/assets/shaders/plane/plane2.frag.glsl
Normal file
@@ -0,0 +1,25 @@
|
||||
varying vec2 vUv;
|
||||
uniform vec3 uOuterColor;
|
||||
uniform float uTime;
|
||||
|
||||
void main() {
|
||||
// Map vUv into -1..1 range like Shadertoy
|
||||
vec2 uv = (vUv - 1.0) * 0.5;
|
||||
|
||||
// Distortion loop – slowed down (uTime * 0.25)
|
||||
for (float i = 1.0; i < 8.0; i++) {
|
||||
uv.y += 0.1 * sin(uv.x * i * i + uTime * 0.25)
|
||||
* sin(uv.y * i * i + uTime * 0.25);
|
||||
}
|
||||
|
||||
// Base color influenced by uv + zone color
|
||||
vec3 col = uOuterColor;
|
||||
col.r += uv.y * 0.2;
|
||||
col.g += uv.y * 0.3;
|
||||
col.b += uv.y * 0.4;
|
||||
|
||||
// Vertical fade
|
||||
float verticalFade = 1.0 - vUv.y;
|
||||
|
||||
gl_FragColor = vec4(col * verticalFade, verticalFade);
|
||||
}
|
||||
6
app/src/assets/shaders/plane/plane2.vert.glsl
Normal file
6
app/src/assets/shaders/plane/plane2.vert.glsl
Normal file
@@ -0,0 +1,6 @@
|
||||
varying vec2 vUv;
|
||||
|
||||
void main() {
|
||||
vUv = uv;
|
||||
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
||||
}
|
||||
37
app/src/assets/shaders/plane/plane3.frag.glsl
Normal file
37
app/src/assets/shaders/plane/plane3.frag.glsl
Normal file
@@ -0,0 +1,37 @@
|
||||
varying vec2 vUv;
|
||||
uniform float uTime;
|
||||
uniform vec3 uOuterColor;
|
||||
|
||||
void main() {
|
||||
// UV mapping like fragCoord
|
||||
vec2 uv = vUv;
|
||||
vec2 p = uv * 2.0 - 1.0;
|
||||
float t = uTime * 0.3;
|
||||
|
||||
// Flow direction and movement
|
||||
vec2 flowDir = normalize(vec2(-0.7, -1.0));
|
||||
float flowSpeed = 2.0;
|
||||
float flow = dot(p, flowDir) * flowSpeed + t;
|
||||
|
||||
// Ripples
|
||||
float rippleX = sin(p.x * 12.0 + t * 1.5) * cos(p.y * 8.0 + t * 2.0) * 0.3;
|
||||
float rippleY = cos(p.y * 10.0 - t * 1.2) * sin(p.x * 7.0 + t * 0.8) * 0.4;
|
||||
float distort = rippleX + rippleY;
|
||||
|
||||
// Gradient to drive stripes
|
||||
float gradient = fract(flow + distort * 0.5);
|
||||
|
||||
// Smooth liquid band
|
||||
float band = smoothstep(0.2, 0.6, gradient) - smoothstep(0.6, 0.9, gradient);
|
||||
|
||||
// Darker zone color
|
||||
vec3 darkColor = uOuterColor * 0.4;
|
||||
|
||||
// Mix between dark and bright zone color
|
||||
vec3 col = mix(darkColor, uOuterColor, band);
|
||||
|
||||
// Vertical fade
|
||||
float verticalFade = 1.0 - vUv.y;
|
||||
|
||||
gl_FragColor = vec4(col * verticalFade, verticalFade);
|
||||
}
|
||||
6
app/src/assets/shaders/plane/plane3.vert.glsl
Normal file
6
app/src/assets/shaders/plane/plane3.vert.glsl
Normal file
@@ -0,0 +1,6 @@
|
||||
varying vec2 vUv;
|
||||
|
||||
void main(){
|
||||
vUv = uv;
|
||||
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
||||
}
|
||||
Reference in New Issue
Block a user