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;
							 | 
						||
| 
								 | 
							
								}
							 |