40 lines
		
	
	
		
			827 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			827 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #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; | ||
|  | } |