Blender Git Loki
Git Commits -> Revision a4ae2b9
Revision a4ae2b9 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) April 12, 2021, 19:34 (GMT) |
EEVEE: Motion Blur: Add back post process motion blur This is almost the same thing as old implementation. Differences: - We clamp the motion vectors to their maximum when sampling the velocity buffer. - Velocity rendering (and data manager) is separated from motion blur. This allows outputing the motion vector render pass and in the future use motion vectors to reproject older frames. - Vector render pass support (only if motion blur is disabled, just like cycles). - Velocity tiles are computed in one pass (simpler code, less CPU overhead, less VRAM usage, maybe a bit slower but imperceivable (< 0.3ms)). - Two velocity passes are outputed, one for motion blur fx (applied per shading view) and one for the vector pass. This could be optimized further in the future. - No current support for deformation & hair (to come). |
Commit Details:
Full Hash: a4ae2b91c9dd41d06728bf66ea4a3ec320f5c904
Parent Commit: 0cd4896
Lines Changed: +1400, -145
10 Added Paths:
/source/blender/draw/engines/eevee/eevee_velocity.hh (+412, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_camera_velocity_frag.glsl (+52, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_gather_frag.glsl (+220, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_lib.glsl (+18, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_tiles_dilate_frag.glsl (+113, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_tiles_flatten_frag.glsl (+51, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_object_velocity_frag.glsl (+43, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_object_velocity_lib.glsl (+8, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_object_velocity_mesh_vert.glsl (+40, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_velocity_lib.glsl (+38, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_camera_velocity_frag.glsl (+52, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_gather_frag.glsl (+220, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_lib.glsl (+18, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_tiles_dilate_frag.glsl (+113, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_motion_blur_tiles_flatten_frag.glsl (+51, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_object_velocity_frag.glsl (+43, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_object_velocity_lib.glsl (+8, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_object_velocity_mesh_vert.glsl (+40, -0) (View)
/source/blender/draw/engines/eevee/shaders/eevee_velocity_lib.glsl (+38, -0) (View)
15 Modified Paths:
/release/scripts/startup/bl_ui/properties_view_layer.py (+5, -0) (Diff)
/source/blender/draw/CMakeLists.txt (+9, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_camera.hh (+2, -12) (Diff)
/source/blender/draw/engines/eevee/eevee_engine.c (+1, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_film.hh (+1, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_instance.hh (+11, -6) (Diff)
/source/blender/draw/engines/eevee/eevee_motion_blur.hh (+204, -107) (Diff)
/source/blender/draw/engines/eevee/eevee_renderpasses.hh (+14, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_sampling.hh (+2, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_shader.hh (+31, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_shader_shared.hh (+35, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_view.hh (+57, -10) (Diff)
/source/blender/draw/engines/eevee/eevee_wrapper.hh (+27, -6) (Diff)
/source/blender/draw/engines/eevee/shaders/eevee_film_lib.glsl (+4, -0) (Diff)
/source/blender/draw/engines/eevee/shaders/eevee_object_forward_frag.glsl (+2, -2) (Diff)
/source/blender/draw/CMakeLists.txt (+9, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_camera.hh (+2, -12) (Diff)
/source/blender/draw/engines/eevee/eevee_engine.c (+1, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_film.hh (+1, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_instance.hh (+11, -6) (Diff)
/source/blender/draw/engines/eevee/eevee_motion_blur.hh (+204, -107) (Diff)
/source/blender/draw/engines/eevee/eevee_renderpasses.hh (+14, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_sampling.hh (+2, -0) (Diff)
/source/blender/draw/engines/eevee/eevee_shader.hh (+31, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_shader_shared.hh (+35, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_view.hh (+57, -10) (Diff)
/source/blender/draw/engines/eevee/eevee_wrapper.hh (+27, -6) (Diff)
/source/blender/draw/engines/eevee/shaders/eevee_film_lib.glsl (+4, -0) (Diff)
/source/blender/draw/engines/eevee/shaders/eevee_object_forward_frag.glsl (+2, -2) (Diff)