Page MenuHome

Fix T79970 EEVEE: Camera Animation Breaks Motion Blur (Two Steps or More)
ClosedPublic

Authored by Clément Foucault (fclem) on Aug 22 2020, 11:53 AM.

Details

Summary

This was caused by motion blur camera movement tagging the view as
invalid and thus resetting the temporal sampling.

Critical fix for 2.90. Need second look, but quite confident. This function
is only called once when Motion blur is off.

Diff Detail

Repository
rB Blender
Branch
master
Build Status
Buildable 9734
Build 9734: arc lint + arc unit

Event Timeline

Clément Foucault (fclem) requested review of this revision.Aug 22 2020, 11:53 AM
Clément Foucault (fclem) created this revision.
Jeroen Bakker (jbakker) accepted this revision.EditedAug 24 2020, 7:54 AM

LGTM. Change makes sense as view_is_valid is only used for viewport rendering and motionblur rendering is only supported in final image rendering; also tested with the provided file in the ticket.

In Blender 2.91 release mode I have the next traceback:

# Blender 2.91.0, Commit date: 2020-08-24 05:44, Hash be4c4604b865

# backtrace
b290(BLI_system_backtrace+0x37) [0x8504377]
b290() [0xe48d7a]
/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7fa6544f7210]
b290(BLI_strnlen+0x19) [0x8501339]
b290(BLI_strncpy+0x1a) [0x850136a]
b290(_ZN7blender3gpu12GLUniformBufC1EmPKc+0xd) [0x70c6e7d]
b290(_ZN7blender3gpu9GLBackend16uniformbuf_allocEiPKc+0x34) [0x70ae184]
b290(GPU_uniformbuf_create_from_list+0x164) [0x70c0034]
b290(GPU_material_uniform_buffer_create+0x12) [0x70b4302]
b290(GPU_generate_pass+0x472) [0x70ac592]
b290(GPU_material_from_nodetree+0x1bb) [0x70b50db]
b290(DRW_shader_create_from_world+0xa6) [0x12e75a6]
b290() [0x12a5024]
b290(EEVEE_material_get+0x4c) [0x12a518c]
b290(EEVEE_lightprobes_cache_init+0x2b4) [0x1297d24]
b290(EEVEE_render_cache_init+0x42) [0x12a1322]
b290() [0x12933c3]
b290(DRW_render_to_image+0x19c) [0x12861ac]
b290(RE_engine_render+0x372) [0x6acf4e2]
b290() [0x6ad9301]
b290() [0x6adc5f8]
b290(RE_RenderFrame+0xf2) [0x6adcd22]
b290() [0x2369524]
b290() [0x1139e16]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7fa654e93609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7fa6545d3103]

# Python backtrace

But that seems unrelated

This revision is now accepted and ready to land.Aug 24 2020, 7:54 AM