You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | shader_type canvas_item; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | uniform vec4 in_color:source_color; | 
					
						
							|  |  |  | uniform float position:hint_range(-2,1.) = 0.856; | 
					
						
							|  |  |  | uniform vec2 size = vec2(32., 32.); | 
					
						
							|  |  |  | uniform vec2 screen_size = vec2(640., 360.); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void fragment(){ | 
					
						
							|  |  |  | 	vec2 a = screen_size / size; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	vec2 uv=UV*a; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	vec2 i_uv = floor(uv); | 
					
						
							|  |  |  | 	vec2 f_uv = fract(uv); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	float rate = (i_uv.x+i_uv.y)/(a.x+a.y) - position; | 
					
						
							|  |  |  | 	rate = pow(rate,3); | 
					
						
							|  |  |  | 	float wave = max(0.,rate); | 
					
						
							|  |  |  | 	vec2 center = f_uv*2.-1.; | 
					
						
							|  |  |  | 	float circle = abs(center.x)+abs(center.y); | 
					
						
							|  |  |  | 	circle = 1. - step(wave,circle); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	COLOR=vec4(circle) * in_color; | 
					
						
							|  |  |  | } |