34 lines
939 B
GLSL
34 lines
939 B
GLSL
#version 330 core
|
|
out vec4 FragColor;
|
|
uniform vec2 WindowSize;
|
|
uniform float time;
|
|
|
|
float rand(vec2 co){
|
|
return fract(sin(dot(co, vec2(12.9898, 78.233))) * 43758.5453);
|
|
}
|
|
|
|
float cell_size = 0.1;
|
|
|
|
void main() {
|
|
// We'll make origin in the top-left.
|
|
vec2 uv = gl_FragCoord.xy / WindowSize;
|
|
uv.y = 1.0 - uv.y;
|
|
vec2 grid_edge_offset = mod(uv, cell_size);
|
|
// c: corner
|
|
vec2 c_tl = uv - grid_edge_offset;
|
|
vec2 c_tr = uv - grid_edge_offset + vec2(cell_size, 0);
|
|
vec2 c_bl = uv - grid_edge_offset + vec2(0, cell_size);
|
|
vec2 c_br = uv - grid_edge_offset + vec2(cell_size, cell_size);
|
|
// random vectors
|
|
vec2 c_tl_ran = rand(c_tl);
|
|
vec2 c_tr_ran = rand(c_tr);
|
|
vec2 c_bl_ran = rand(c_bl);
|
|
vec2 c_br_ran = rand(c_br);
|
|
// offset vectors
|
|
vec2 c_tl_off = c_tl - uv;
|
|
vec2 c_tr_off = c_tr - uv;
|
|
vec2 c_bl_off = c_bl - uv;
|
|
vec2 c_br_off = c_br - uv;
|
|
|
|
FragColor =
|
|
}
|