From c8ca44c6ca2415ab1aa7bd3c1f1a64c4e3e865f8 Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Fri, 14 Feb 2025 12:58:58 -0800 Subject: [PATCH] Separate boxfade method --- .../psychadelicColors.frag.glsl | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/psychadelic-graphics/psychadelicColors.frag.glsl b/src/psychadelic-graphics/psychadelicColors.frag.glsl index fa555eb..9f01b63 100644 --- a/src/psychadelic-graphics/psychadelicColors.frag.glsl +++ b/src/psychadelic-graphics/psychadelicColors.frag.glsl @@ -24,14 +24,13 @@ void main() { float size = 0.01; - uv.x = floor(uv.x / size) * size; uv.y = floor(uv.y / size) * size; float rand = random(uv); float period = 5.0; - float mask = mod(u_time / period, 1.0); + float mask = mod(u_time / period, 1.4); float x = rand < mask ? uv.x : 0.0; float y = rand < mask ? uv.y : 0.0; @@ -39,3 +38,17 @@ void main() { fragColor = vec4(x, 0.0, y, 1.0); } + +vec4 boxFade(vec4 inputColor, float boxSize, float period) { + float canvasSize = max(u_canvasWidth, u_canvasHeight); + + vec2 uv = gl_FragCoord.xy/vec2(canvasSize, canvasSize); + + float x = floor(uv.x / boxSize) * boxSize; + float y = floor(uv.y / boxSize) * boxSize; + + float rand = random(uv); + float mask = mod(u_time / period, 1.4); + + return rand < mask ? inputColor : vec4(0.0, 0.0, 0.0, 1.0); +}