File: bloom-comp-f.sdr

package info (click to toggle)
freespace2 24.2.0%2Brepack-1
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 43,716 kB
  • sloc: cpp: 595,001; ansic: 21,741; python: 1,174; sh: 457; makefile: 248; xml: 181
file content (24 lines) | stat: -rw-r--r-- 514 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

in vec4 fragTexCoord;

out vec4 fragOut0;

uniform sampler2D bloomed;

layout (std140) uniform genericData {
	float bloom_intensity;
	int levels;
};

void main() {
	vec4 color_out = vec4(0.0, 0.0, 0.0, 1.0);
	float factor = 0.0;
	for (int mipmap = 0; mipmap < levels; ++mipmap) {
		float scale = 1.0/exp2(float(mipmap));
		factor += scale;
		color_out.rgb += textureLod(bloomed, fragTexCoord.xy, float(mipmap)).rgb * scale;
	}
	color_out.rgb /= factor;
	color_out.rgb *= bloom_intensity;
	fragOut0 = color_out;
}