27 lines
676 B
GLSL
27 lines
676 B
GLSL
#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);
|
|
}
|
|
|
|
}
|