frag.glsl (481B)
1 #version 330 core 2 precision mediump float; 3 4 layout(location = 0) out vec4 diffuseColor; 5 uniform int u_map[32]; 6 uniform vec2 u_resolution; 7 uniform vec2 u_food; 8 9 void main() 10 { 11 vec2 st = (gl_FragCoord.xy / u_resolution.xy) * 32.0; 12 uint x = uint(floor(st.x)); 13 uint y = uint(floor(st.y)); 14 diffuseColor.g = float(uint(u_map[y]) & uint(1 << x)); 15 diffuseColor.r = float(x == uint(u_food.x) && y == uint(u_food.y)); 16 diffuseColor.b = 0.0; 17 diffuseColor.a = 1.0; 18 }