Files
MaidEngine/shaders/masked_palette_swap.gdshader
2026-04-01 17:16:58 -04:00

16 lines
613 B
Plaintext

shader_type canvas_item;
uniform sampler2D flag_mask : source_color, hint_default_black;
uniform vec4 team_color : source_color = vec4(1.0, 0.0, 0.0, 1.0); // red by default
void fragment() {
vec4 base = texture(TEXTURE, UV);
float mask = texture(flag_mask, UV).r; // 1.0 on flag pixels, 0.0 on castle
// Use the grey luminance as a brightness multiplier on the team color
float brightness = base.r; // grey means R == G == B
vec4 tinted = vec4(team_color.rgb * brightness * 2.0, base.a);
// Blend: castle pixels stay grey, flag pixels get tinted
COLOR = mix(base, tinted, mask);
}