Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-08-11 02:24:09 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-08-11 02:26:05 +0300
commitaa575a3152ade77db68a6420fc978158c34d8dd9 (patch)
treec9a89f10e65ab98fbea3135d0824c0386caeeeec /source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl
parent0665f58a57b54c874f9d944cb0fbf3422cb214b0 (diff)
Eevee: SSR Clamp color when blurring buffers.
This effectivly reduce firefly bleeding all over the place. We still need the clamp in the resolve pass because the level 0 has not been clamped. NOTE: I did not clamped each sample individually for performance BUT I did not profile it to know how much it cost.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl
index 44e0c176010..3b3abdef00c 100644
--- a/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl
@@ -3,13 +3,18 @@
**/
uniform sampler2DArray source;
-uniform vec2 texelSize;
+uniform float fireflyFactor;
in vec2 uvs;
flat in float layer;
out vec4 FragColor;
+float brightness(vec3 c)
+{
+ return max(max(c.r, c.g), c.b);
+}
+
void main()
{
#if 0
@@ -27,5 +32,9 @@ void main()
FragColor += textureLod(source, vec3(uvs + ofs.zy, layer), 0.0);
FragColor += textureLod(source, vec3(uvs + ofs.zw, layer), 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
} \ No newline at end of file