40 lines
		
	
	
		
			827 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			827 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 450
 | |
| 
 | |
| #include "compiled.inc" // bloomStrength
 | |
| #include "std/resample.glsl"
 | |
| 
 | |
| uniform sampler2D tex;
 | |
| uniform vec2 screenSizeInv;
 | |
| uniform int currentMipLevel;
 | |
| uniform float sampleScale;
 | |
| 
 | |
| #ifdef _CPostprocess
 | |
| 	uniform vec3 PPComp11;
 | |
| #endif
 | |
| 
 | |
| in vec2 texCoord;
 | |
| 
 | |
| out vec4 fragColor;
 | |
| 
 | |
| void main() {
 | |
| 	#ifdef _BloomQualityHigh
 | |
| 		fragColor.rgb = upsample_tent_filter_3x3(tex, texCoord, screenSizeInv, sampleScale);
 | |
| 	#else
 | |
| 		#ifdef _BloomQualityMedium
 | |
| 			fragColor.rgb = upsample_dual_filter(tex, texCoord, screenSizeInv, sampleScale);
 | |
| 		#else // _BloomQualityLow
 | |
| 			fragColor.rgb = upsample_4tap_bilinear(tex, texCoord, screenSizeInv, sampleScale);
 | |
| 		#endif
 | |
| 	#endif
 | |
| 
 | |
| 	if (currentMipLevel == 0) {
 | |
| 		#ifdef _CPostprocess
 | |
| 			fragColor.rgb *= PPComp11.x;
 | |
| 		#else
 | |
| 			fragColor.rgb *= bloomStrength;
 | |
| 		#endif
 | |
| 	}
 | |
| 
 | |
| 	fragColor.a = 1.0;
 | |
| }
 |