Я написал простенький шейдер который должен был отобразить круг в прямоугольной обрасти(по логике на краях прямоугольника часть круга обрезается) но что-то не так и картинки нет в чём может быть проблема? Хотелось реализовать что-то на подобие зеркала в 2д графике.
#version 130
out vec4 fragColor;
uniform vec2 u_resolution;
uniform vec2 u_circle;
uniform float u_radius;
uniform vec2 u_mirror;
uniform vec2 u_mirror_size;
uniform float u_alpha;
bool circle(vec2 uv)
{
float f = (uv.x - u_circle.x) * (uv.x - u_circle.x) + (uv.y - u_circle.y) * (uv.y - u_circle.y);
if (f < u_radius)
return true;
return false;
}
bool squre(vec2 uv)
{
if(uv.x > u_mirror.x && uv.y > u_mirror.y && uv.x < u_mirror.x + u_mirror_size.x && uv.y < u_mirror.y + u_mirror_size.y)
return true;
return false;
}
void main()
{
vec2 uv = gl_FragCoord.xy;
vec4 col = vec4(gl_Color.xyz, 0);
if(circle(uv) && squre(uv))
col.w = u_alpha;
fragColor = col;
}