- shader_type canvas_item;
- render_mode blend_mix;
-
- uniform vec4 color : source_color = vec4(1.0, 1.0, 1.0, 1.0);
- uniform vec2 size = vec2(1280.0, 720.0);
- uniform int line_width = 1;
- uniform vec2 offset = vec2(0.0, 0.0);
- uniform float grid_size = 16.0;
-
- void fragment() {
- vec2 uv = ((offset - vec2(float(line_width)) * 0.5f) / size) + UV;
- vec2 r = mod(size * uv, vec2(grid_size));
- vec2 lines = step(1.0 - float(line_width) / grid_size, r / vec2(grid_size));
- float alpha = dot(lines, vec2(1.0, 1.0));
- COLOR = color;
- COLOR.a *= alpha;
- }