From b0eb31c1a2347229754ce0e7ce2b588cc099546a Mon Sep 17 00:00:00 2001 From: Alexander Gauggel <agauggel@uni-koblenz.de> Date: Sat, 26 Jun 2021 15:12:15 +0200 Subject: [PATCH] [#82] Make lens dirt energy conserving --- .../resources/shaders/bloomFlaresComposite.comp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/projects/voxelization/resources/shaders/bloomFlaresComposite.comp b/projects/voxelization/resources/shaders/bloomFlaresComposite.comp index fdc8884d..57174b73 100644 --- a/projects/voxelization/resources/shaders/bloomFlaresComposite.comp +++ b/projects/voxelization/resources/shaders/bloomFlaresComposite.comp @@ -41,7 +41,14 @@ float getLensDirtWeight(vec2 uv){ uv.x *= targetAspectRatio / dirtAspectRatio; float dirt = texture(sampler2D(dirtTexture, radialLUTSampler), uv).r; - float dirtStrength = 0.75; + float dirtStrength = 0.4f; + + // manually looked up in gimp, must be adjusted when changing dirt texture + float dirtMean = 0.132; + // make sure no energy is lost + // otherwise bloom is darkened when the dirt increases + dirt /= dirtMean; + return mix(1, dirt, dirtStrength); } @@ -62,8 +69,8 @@ void main() vec3 main_color = imageLoad(colorBuffer, pixel_coord).rgb; // composite blur and lens features - float bloom_weight = 0.15f; - float lens_weight = 0.15f; + float bloom_weight = 0.06f; + float lens_weight = 0.02f; float main_weight = 1 - (bloom_weight + lens_weight); lens_color *= starburst(UV); -- GitLab