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.
		
		
		
		
		
			
		
			
	
	
		
			27 lines
		
	
	
		
			729 B
		
	
	
	
		
			Plaintext
		
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			729 B
		
	
	
	
		
			Plaintext
		
	
| 
											2 years ago
										 | shader_type spatial; | ||
|  | render_mode depth_draw_opaque,unshaded,depth_test_disabled; | ||
|  | 
 | ||
|  | uniform sampler2D tex : source_color,filter_nearest; | ||
|  | uniform vec4 color:source_color; | ||
|  | 
 | ||
|  | uniform vec2 deformation_dir = vec2(1, 0); | ||
|  | uniform float deformation_rate = 0; | ||
|  | 
 | ||
|  | void vertex() { | ||
|  | 	if (length(deformation_dir)>0.0){ | ||
|  | 		vec2 dir_center = VERTEX.xy; | ||
|  | 		vec2 dir = normalize(deformation_dir.yx); | ||
|  | 		vec2 dir1 = dir * deformation_rate; | ||
|  | 		vec2 dir2 = cross(vec3(0, 0, 1), vec3(dir, 0)).xy * deformation_rate; | ||
|  | 		vec2 offset1 = -dot(dir1, dir_center) * dir1; | ||
|  | 		vec2 offset2 = dot(dir2, dir_center) * dir2; | ||
|  | 		VERTEX.xy += offset1 + offset2; | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | void fragment() { | ||
|  | 	vec4 col = texture(tex, UV); | ||
|  | 	if(col.a<0.5){discard;} | ||
|  | 	ALBEDO = color.rgb; | ||
|  | 	ALPHA = 1.0; | ||
|  | } |