Files
tgcc-artest/Shaders/Day_Night.gdshader
Matteo Sonaglioni f7b334b21c first commit
2026-03-10 23:54:57 +01:00

29 lines
1013 B
Plaintext

shader_type canvas_item;
render_mode blend_mul;
// Colori esposti nell'Inspector
uniform vec4 color_mattina : source_color = vec4(1.0, 0.9, 0.8, 1.0);
uniform vec4 color_pomeriggio : source_color = vec4(1.0, 0.6, 0.2, 1.0);
uniform vec4 color_notte : source_color = vec4(0.1, 0.1, 0.3, 1.0);
// Parametro fluido: 1.0 = Mattina, 2.0 = Pomeriggio, 3.0 = Notte
uniform float tempo_giorno : hint_range(1.0, 3.0) = 1.0;
void fragment() {
vec4 tex_color = texture(TEXTURE, UV);
vec4 final_tint;
if (tempo_giorno <= 2.0) {
// Transizione tra Mattina (1.0) e Pomeriggio (2.0)
// mix(A, B, t) dove t va da 0 a 1
float t = tempo_giorno - 1.0;
final_tint = mix(color_mattina, color_pomeriggio, t);
} else {
// Transizione tra Pomeriggio (2.0) e Notte (3.0)
float t = tempo_giorno - 2.0;
final_tint = mix(color_pomeriggio, color_notte, t);
}
// Applica il colore finale con blend_mul (moltiplicazione)
COLOR = tex_color * final_tint;
}