123456789101112131415161718192021222324252627282930313233 |
- function lovr.load()
- shader = lovr.graphics.newShader([[
- vec4 lovrmain() {
- return DefaultPosition;
- }
- ]], [[
- const float gridSize = 25.;
- const float cellSize = .5;
- vec4 lovrmain() {
- vec2 uv = UV;
- // Distance-based alpha (1. at the middle, 0. at edges)
- float alpha = 1. - smoothstep(.15, .50, distance(uv, vec2(.5)));
- // Grid coordinate
- uv *= gridSize;
- uv /= cellSize;
- vec2 c = abs(fract(uv - .5) - .5) / fwidth(uv);
- float line = clamp(1. - min(c.x, c.y), 0., 1.);
- vec3 value = mix(vec3(.01, .01, .011), (vec3(.04)), line);
- return vec4(vec3(value), alpha);
- }
- ]], { flags = { highp = true } })
- lovr.graphics.setBackgroundColor(.05, .05, .05)
- end
- function lovr.draw(pass)
- pass:setShader(shader)
- pass:plane(0, 0, 0, 25, 25, -math.pi / 2, 1, 0, 0)
- end
|