const float border = 0.05; // Farby rohov const vec3 colors[4] = vec3[4]( vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 1.0, 1.0) ); void mainImage(out vec4 fragColor, in vec2 fragCoord) { // Výpočet súradníc vec2 uv = (fragCoord.xy / iResolution.xy - border) / (1.0 - border * 2.0); // Čierny rámček na každej strane float borderAttenuation = step(0.0, uv.x) * // 0 pre ľavý okraj step(0.0, uv.y) * // 0 pre dolný okraj step(0.0, 1.0 - uv.x) * // 0 pre pravý okraj step(0.0, 1.0 - uv.y); // 0 pre horný okraj // Výpočet farby vec3 color = mix( mix(colors[0], colors[1], uv.x), mix(colors[2], colors[3], uv.x), uv.y); // Vynásobenie útlmom a pridanie alfa kanálu (1.0) fragColor = vec4(color * borderAttenuation, 1.0); }