Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
38 lines
994 B
GLSL
38 lines
994 B
GLSL
/**
|
|
* Simple downsample shader. Takes the average of the 4 texels of lower mip.
|
|
*/
|
|
|
|
uniform sampler2D source;
|
|
uniform float fireflyFactor;
|
|
|
|
out vec4 FragColor;
|
|
|
|
float brightness(vec3 c)
|
|
{
|
|
return max(max(c.r, c.g), c.b);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
#if 0
|
|
/* Reconstructing Target uvs like this avoid missing pixels if NPO2 */
|
|
vec2 uvs = gl_FragCoord.xy * 2.0 / vec2(textureSize(source, 0));
|
|
|
|
FragColor = textureLod(source, uvs, 0.0);
|
|
#else
|
|
vec2 texel_size = 1.0 / vec2(textureSize(source, 0));
|
|
vec2 uvs = gl_FragCoord.xy * 2.0 * texel_size;
|
|
vec4 ofs = texel_size.xyxy * vec4(0.75, 0.75, -0.75, -0.75);
|
|
|
|
FragColor = textureLod(source, uvs + ofs.xy, 0.0);
|
|
FragColor += textureLod(source, uvs + ofs.xw, 0.0);
|
|
FragColor += textureLod(source, uvs + ofs.zy, 0.0);
|
|
FragColor += textureLod(source, uvs + ofs.zw, 0.0);
|
|
FragColor *= 0.25;
|
|
|
|
/* Clamped brightness. */
|
|
float luma = max(1e-8, brightness(FragColor.rgb));
|
|
FragColor *= 1.0 - max(0.0, luma - fireflyFactor) / luma;
|
|
#endif
|
|
}
|