From d5829527c18208a290b2f48e2cdbd8265879cc83 Mon Sep 17 00:00:00 2001 From: Rakarake Date: Sat, 27 Dec 2025 14:34:02 +0100 Subject: [PATCH] perlin noise function --- fragment.glsl | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/fragment.glsl b/fragment.glsl index c6cbb79..363f959 100644 --- a/fragment.glsl +++ b/fragment.glsl @@ -48,14 +48,7 @@ float fade(float t) { return ((6.0*t - 15.0)*t + 10.0)*t*t*t; } - -void main() { - vec2 uv = gl_FragCoord.xy / WindowSize; - // We'll make origin in the top-left. - uv.y = 1.0 - uv.y; - float frac = WindowSize.x / WindowSize.y; - uv.x *= frac; - +float perlin_noise(vec2 uv) { vec2 grid_edge_offset = mod(uv, cell_size); // c: corner vec2 c_tl = uv - grid_edge_offset; @@ -74,6 +67,15 @@ void main() { float u = fade(tile_uv.x); float v = fade(tile_uv.y); float val = lerp(lerp(c_tl_dot, c_bl_dot, v), lerp(c_tr_dot, c_br_dot, v), u); - float out_val = val /2.0 + 0.5; + return val /2.0 + 0.5; +} + + +void main() { + vec2 uv = gl_FragCoord.xy / WindowSize; + // We'll make origin in the top-left. + uv.y = 1.0 - uv.y; + uv.x *= WindowSize.x / WindowSize.y; + float out_val = perlin_noise(uv); color = vec4(out_val, out_val, out_val, 1.0); }