extern Image scene; extern Image light; extern vec3 ambient; vec4 effect(vec4 vcolor, Image unused, vec2 uv, vec2 px) { vec4 s = Texel(scene, uv); vec3 l = Texel(light, uv).rgb; l = clamp(l, 0.0, 1.0); vec3 a = clamp(ambient, 0.0, 1.0); // Канальный множитель: от ambient до 1 в зависимости от света vec3 m = a + (vec3(1.0) - a) * l; vec3 rgb = s.rgb * m; return vec4(rgb, s.a); }