Blender Git Commit Log

Git Commits -> Revision 3a65571

Revision 3a65571 by Patrick Mours (master)
October 8, 2021, 16:03 (GMT)
Fix T90666: Toggling motion blur while persistent data is enabled results in artifacts

Enabling or disabling motion blur requires rebuilding the BVH of affected geometry and
uploading modified vertices to the device (since without motion blur the transform is
applied to the vertex positions, whereas with motion blur this is done during traversal).
Previously neither was happening when persistent data was enabled, since the relevant
node sockets were not tagged as modified after toggling motion blur.

The change to blender_object.cpp makes it so `geom->set_use_motion_blur()` is always
called (regardless of motion blur being toggled on or off), which will tag the geometry
as modified if that value changed and ensures the BVH is updated.
The change to hair.cpp/mesh.cpp was necessary since after motion blur is disabled,
the transform is applied to the vertex positions of a mesh, but those changes were not
uploaded to the device. This is fixed now that they are tagged as modified.

Maniphest Tasks: T90666

Differential Revision: https://developer.blender.org/D12781

Commit Details:

Full Hash: 3a65571195524ea50682611306ab4d103807112a
Parent Commit: 94d2736
Lines Changed: +9, -5

3 Modified Paths:

/intern/cycles/blender/blender_object.cpp (+4, -5) (Diff)
/intern/cycles/render/hair.cpp (+3, -0) (Diff)
/intern/cycles/render/mesh.cpp (+2, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021