heroes-of-nerevelon/assets/shaders/light_postprocess.glsl
2026-01-08 12:45:59 +03:00

21 lines
460 B
GLSL

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);
}