shader_type canvas_item; uniform vec4 rock_tint : source_color; uniform vec4 ground_tint : source_color; void fragment() { vec4 source = texture(TEXTURE,UV); float brightness = dot(source.rgb,vec3(0.299,0.587,0.114)); float rim = smoothstep(0.28,0.49,length((UV-vec2(0.5))*vec2(1.0,0.85))); vec3 rock = mix(source.rgb,rock_tint.rgb*(brightness+0.45),0.20); rock = mix(rock,ground_tint.rgb*(brightness+0.5),rim*0.25); float alpha = smoothstep(0.08,0.90,source.a); COLOR = vec4(rock,alpha); }