From ffa461f13c5f37b658ed273876548bcb3c94b9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 15 Nov 2018 20:04:35 +0100 Subject: Eevee: Add Filter Quality setting This setting can be tweaked to improve glossy reflection cubemaps. It increases the sample count for each roughness level. This settings affect the lookdev mode quality as well. --- source/blender/draw/engines/eevee/eevee_lightprobes.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/blender/draw/engines/eevee/eevee_lightprobes.c') diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c index 56690551e9c..37276987f8d 100644 --- a/source/blender/draw/engines/eevee/eevee_lightprobes.c +++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c @@ -1103,7 +1103,7 @@ static void eevee_lightbake_render_scene_to_planars( void EEVEE_lightbake_filter_glossy( EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata, struct GPUTexture *rt_color, struct GPUFrameBuffer *fb, - int probe_idx, float intensity, int maxlevel, float firefly_fac) + int probe_idx, float intensity, int maxlevel, float filter_quality, float firefly_fac) { EEVEE_PassList *psl = vedata->psl; EEVEE_LightProbesInfo *pinfo = sldata->probes; @@ -1149,6 +1149,9 @@ void EEVEE_lightbake_filter_glossy( #else /* Constant Sample count (slow) */ pinfo->samples_len = 1024.0f; #endif + /* Cannot go higher than HAMMERSLEY_SIZE */ + CLAMP(filter_quality, 1.0f, 8.0f); + pinfo->samples_len *= filter_quality; pinfo->samples_len_inv = 1.0f / pinfo->samples_len; pinfo->lodfactor = bias + 0.5f * log((float)(target_size * target_size) * pinfo->samples_len_inv) / log(2); -- cgit v1.2.3