25 lines
764 B
GLSL
25 lines
764 B
GLSL
uniform sampler2DRect colorSampler;
|
|
uniform sampler2DRect blurSampler0;
|
|
uniform sampler2DRect blurSampler1;
|
|
uniform sampler2DRect blurSampler2;
|
|
uniform sampler2DRect blurSampler3;
|
|
|
|
uniform int width;
|
|
uniform int height;
|
|
|
|
layout(location = 0)out vec3 minMaxMean;
|
|
layout(location = 1)out vec4 outColor;
|
|
|
|
void main(void) {
|
|
ivec2 ipos = ivec2(gl_FragCoord.xy);
|
|
vec3 color = texelFetch(colorSampler, ipos).xyz;
|
|
|
|
vec3 bloom = texelFetch(blurSampler0, ipos).xyz;
|
|
bloom += texture(blurSampler1, gl_FragCoord.xy/2).xyz;
|
|
bloom += texture(blurSampler2, gl_FragCoord.xy/4).xyz;
|
|
bloom += texture(blurSampler3, gl_FragCoord.xy/8).xyz;
|
|
|
|
outColor = vec4(color + bloom/4, 1.0);
|
|
minMaxMean = vec3(0.2126*color.r + 0.7152*color.g + 0.0722*color.b);
|
|
}
|