#version 130 out mediump vec4 color; in mediump vec2 texcoord; uniform sampler2D tex; uniform vec2 cursorPos; uniform vec2 windowSize; uniform vec2 screenshotSize; uniform float flShadow; uniform float flRadius; uniform float cameraScale; uniform bool gridEnabled; void main() { vec4 cursor = vec4(cursorPos.x, windowSize.y - cursorPos.y, 0.0, 1.0); color = mix( texture(tex, texcoord), vec4(0.0, 0.0, 0.0, 0.0), length(cursor - gl_FragCoord) < (flRadius * cameraScale) ? 0.0 : flShadow); if(gridEnabled){ vec2 uv = texcoord * screenshotSize; if(fract(uv.x) < 0.04f || fract(uv.y) < 0.04f) color = vec4(0.0); } }