diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-11-15 22:04:35 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-11-15 22:04:47 +0300 |
commit | ffa461f13c5f37b658ed273876548bcb3c94b9fa (patch) | |
tree | f6b647c8642e909d81d7ce7895245148a1d0cd9e /source/blender/draw/engines/eevee/eevee_lightprobes.c | |
parent | 1b321048a7ebbb99d62c8d8e74446153ef487a59 (diff) |
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.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_lightprobes.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_lightprobes.c | 5 |
1 files changed, 4 insertions, 1 deletions
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); |