shader_type spatial;
render_mode cull_disabled, blend_mix, depth_draw_opaque;
uniform vec3 tint : source_color = vec3(0.07, 0.13, 0.15);
uniform sampler2D noise_tex : filter_nearest, repeat_enable;
void fragment() {
    vec2 p = UV * 5.0;
    float a = texture(noise_tex, p + vec2(TIME * 0.012, TIME * 0.006)).r;
    float b = texture(noise_tex, p * 1.4 - vec2(TIME * 0.008, TIME * 0.01)).g;
    float ripple = pow(max(0.0, sin((p.x + p.y + a * 0.8) * 18.0 + TIME * 0.65)), 14.0);
    NORMAL_MAP = vec3(0.5 + (a - 0.5) * 0.055, 0.5 + (b - 0.5) * 0.055, 1.0);
    NORMAL_MAP_DEPTH = 0.4;
    ALBEDO = tint * (0.65 + a * 0.35) + vec3(0.12,0.17,0.18) * ripple * 0.10;
    ROUGHNESS = 0.20;
    METALLIC = 0.55;
    SPECULAR = 0.75;
}
