30 lines
		
	
	
		
			869 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			869 B
		
	
	
	
		
			Plaintext
		
	
	
	
| shader_type canvas_item;
 | |
| 
 | |
| #include "res://Scripts/Rokojori/Rokojori-Action-Library/Runtime/Shading/Library/Colors.gdshaderinc"
 | |
| #include "res://Scripts/Rokojori/Rokojori-Action-Library/Runtime/Shading/Library/Math.gdshaderinc"
 | |
| 
 | |
| uniform sampler2D screenTexture:
 | |
|   hint_screen_texture,
 | |
|   repeat_disable,
 | |
|   filter_linear_mipmap;
 | |
| 
 | |
| 
 | |
| uniform sampler2D overlay;
 | |
| uniform float effectStrength: hint_range(0,1) = 1;
 | |
| 
 | |
| 
 | |
| void fragment()
 | |
| {
 | |
|   vec4 rgb = texture( screenTexture, UV );
 | |
|   vec4 originalRGB = rgb;
 | |
| 
 | |
|   vec4 overlayColor = texture( overlay, UV );
 | |
|   vec4 additiveOverlayColor   = overlayColor + rgb;
 | |
|   vec4 multipliedOverlayColor = overlayColor * rgb;
 | |
|  
 | |
|   float overlayBlendType = length( overlayColor.rgb );
 | |
|   vec4 mixed = mix3_v4( multipliedOverlayColor, rgb, additiveOverlayColor, overlayBlendType );
 | |
|  
 | |
|   rgb = mixed; 
 | |
|   COLOR = mix( originalRGB, mixed, effectStrength );
 | |
| } |