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>2018-11-15 22:04:35 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-11-15 22:04:47 +0300
commitffa461f13c5f37b658ed273876548bcb3c94b9fa (patch)
treef6b647c8642e909d81d7ce7895245148a1d0cd9e /source/blender/draw/engines/eevee/eevee_lightprobes.c
parent1b321048a7ebbb99d62c8d8e74446153ef487a59 (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.c5
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);