Files
frog/assets/shader/road.gdshader
T
2026-07-31 18:18:18 +02:00

28 lines
1.1 KiB
Plaintext

shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx;
uniform sampler2D main_texture : source_color;
// On passe en vec2 pour ajuster X et Y indépendamment
uniform vec2 main_uv_scale = vec2(1.0, 1.0);
uniform sampler2D secondary_texture : source_color;
uniform vec2 secondary_uv_scale = vec2(1.0, 1.0);
uniform sampler2D blend_noise : source_color;
void fragment() {
// Multiplie l'UV par le vector 2D (ex: scale.x sur UV.x, scale.y sur UV.y)
vec2 main_uv = UV * main_uv_scale;
vec4 main_albedo = texture(main_texture, main_uv);
vec2 secondary_uv = UV * secondary_uv_scale;
vec4 secondary_albedo = texture(secondary_texture, secondary_uv);
vec4 blend_noise_texture = texture(blend_noise, UV);
vec3 final_albedo = mix(main_albedo.rgb, secondary_albedo.rgb, blend_noise_texture.rgb);
// Note : Votre conversion RGB -> HSV -> RGB était neutre (faisait un aller-retour sans modificateur).
// On peut assigner directement pour simplifier et optimiser les performances :
ALBEDO = final_albedo;
}