diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-06-23 14:59:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-06-23 15:04:41 +0300 |
commit | 439b40e601f8cdae9a12fc3f503e9e6acdd596d5 (patch) | |
tree | 9a485ec18d1c9dd030ffdfe9309193adc96dc515 /source/blender/makesdna | |
parent | cc3e808ab47887c002faaa8a28318a2b4f47e02a (diff) |
EEVEE: Motion Blur: Add accumulation motion blur for better precision
This revisit the render pipeline to support time slicing for better motion
blur.
We support accumulation with or without the Post-process motion blur.
If using the post-process, we reuse last step next motion data to avoid
another scene reevaluation.
This also adds support for hair motion blur which is handled in a similar
way as mesh motion blur.
The total number of samples is distributed evenly accross all timesteps to
avoid sampling weighting issues. For this reason, the sample count is
(internally) rounded up to the next multiple of the step count.
Only FX Motion BLur: {F8632258}
FX Motion Blur + 4 time steps: {F8632260}
FX Motion Blur + 32 time steps: {F8632261}
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D8079
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_scene_defaults.h | 1 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_scene_defaults.h b/source/blender/makesdna/DNA_scene_defaults.h index 3f8730e21db..32975d10a89 100644 --- a/source/blender/makesdna/DNA_scene_defaults.h +++ b/source/blender/makesdna/DNA_scene_defaults.h @@ -222,6 +222,7 @@ .motion_blur_shutter = 0.5f, \ .motion_blur_depth_scale = 100.0f, \ .motion_blur_max = 32, \ + .motion_blur_steps = 1, \ \ .shadow_cube_size = 512, \ .shadow_cascade_size = 1024, \ diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 7329365805c..524103cb371 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1590,7 +1590,6 @@ typedef struct SceneEEVEE { float gi_irradiance_smoothing; float gi_glossy_clamp; float gi_filter_quality; - char _pad[4]; float gi_cubemap_draw_size; float gi_irradiance_draw_size; @@ -1630,6 +1629,7 @@ typedef struct SceneEEVEE { int motion_blur_samples DNA_DEPRECATED; int motion_blur_max; + int motion_blur_steps; float motion_blur_shutter; float motion_blur_depth_scale; |