shader_type canvas_item; uniform sampler2D grade_icon; void fragment() { vec4 final_color = COLOR; vec4 texture_color_waves1 = texture(grade_icon, UV*(1.0+sin(FRAGCOORD.x*0.013+TIME+FRAGCOORD.y*0.05))); final_color.rgb = mix( final_color.rgb, final_color.rgb * 0.97, texture_color_waves1.a ); vec4 texture_color_waves2 = texture(grade_icon, vec2(UV.x*1.2-0.1, float(int(FRAGCOORD.y+TIME*23.0)%60)/50.0)); final_color.rgb = mix( final_color.rgb, final_color.rgb * 0.95, texture_color_waves2.a ); int step_size_x = 7; int step_size_y = 9; vec4 texture_color_waves3 = texture(grade_icon, vec2( float(int(FRAGCOORD.x-TIME*3.0)%step_size_x)/float(step_size_x-1), 1.0-float(int(FRAGCOORD.y-TIME)%step_size_y)/float(step_size_y-1) )); final_color.rgb = mix( final_color.rgb, final_color.rgb * 0.91, texture_color_waves3.a ); // Stretched vec4 texture_color_base = texture(grade_icon, UV); final_color.rgb = mix( final_color.rgb, final_color.rgb * 0.85, texture_color_base.a ); COLOR = final_color; }