Vaporwave Grid
I love vaporwave art.
Surfing on Shader Toy I’ve found the shader Cyber Fuji 2020 from Kaiware007. So, I’ve decided to convert part of it to be used into Godot. The glowing grid could give some ’80s vibes to your game!
INSTRUCTIONS
For using it, just place the shader on a node like ColorRect and see the magic happens!
Enjoy!
Shader code
shader_type canvas_item;
uniform float battery : hint_range(0.0,1.0) = 1.0;
uniform float anchor : hint_range(-1.0,1.0) = -0.5;
uniform float speed_scale : hint_range(1.0, 10.0) = 1.0;
uniform float fov : hint_range(0.01, 1.0) = 0.2;
uniform vec4 background_color : hint_color = vec4(0.0, 0.1, 0.2, 1.0);
uniform vec4 grid_color : hint_color = vec4(1.0, 0.5, 1.0, 1.0);
float grid(vec2 uv, float batt) {
vec2 size = vec2(uv.y, uv.y * uv.y * 0.2) * 0.01;
uv += vec2(0.0, TIME * speed_scale * (batt + 0.05));
uv = abs(fract(uv) - 0.5);
vec2 lines = smoothstep(size, vec2(0.0), uv);
lines += smoothstep(size * 5.0, vec2(0.0), uv) * 0.4 * batt;
return clamp(lines.x + lines.y, 0.0, 3.0);
}
void fragment() {
vec2 uv = UV;
vec4 col = background_color;
uv.y = 3.0 / (abs(uv.y + fov) + 0.05);
uv.x += anchor;
uv.x *= uv.y * 1.0;
float gridVal = grid(uv, battery);
col = mix(background_color, grid_color, gridVal);
COLOR = col;
}
Thanks for the shader! It inspired me to recreate an old Unity game, in which I used a similar shader. Feel free to check out the final prouduct:
https://glitchfield.com/
If you want to use this on Godot 4.0, hint_color is now source_color. Everything else works perfectly.