shader_type spatial; uniform sampler2D noise_texture : filter_linear_mipmap; uniform sampler2D gradient_texture : filter_linear; uniform float noise_scale : hint_range(0.1, 10.0) = 1.0; uniform float roughness_value : hint_range(0.0, 1.0) = 0.8; void fragment() { vec2 noise_uv = UV * noise_scale; float noise_val = texture(noise_texture, noise_uv).r; vec4 earth_color = texture(gradient_texture, vec2(noise_val, 0.0)); ALBEDO = earth_color.rgb; ROUGHNESS = roughness_value; }