shader_type canvas_item; render_mode blend_add; uniform float cycle_speed = 1.0; uniform sampler2D gradient; void fragment() { COLOR = texture(TEXTURE, UV); COLOR *= texture(gradient, vec2(TIME * cycle_speed, 0.0)); }