Kévin Dietrich has been working on something I didn’t even know was possible: motion blur support for meshes that have a changing number of vertices, like fluid simulations.
We’ve had motion blur support for dynamic meshes in general for a while now, but that was only for things like characters with an armature, or anything where the vertices in a mesh move around.
What this new patch does is add support for cases where the mesh structure itself changes, when new verts and faces are created or removed.
From the patch:
The trick here is to properly interpolate motion blur data based on the velocity vector of the current (center) frame unlike for static meshes motion blur where data is interpolated between frames, which will most likely fail for dynamic meshes. To achieve this, for now, the patch makes the very weak assumption that there’s only gonna be two motion times (which
is the case in Cycles currently). A better approach is left for discussion.
Note: It seems for now that adding any modifiers (e.g. subsurf) after the fluid sim or enabling Auto Smooth will break the motion vectors. Maybe this will be improved in future? For the render above I had to do some node hackery to get rid of those nasty black edges that occur when using a glass shader on low-poly geometry.
Update: This only seems to work for fluid simulations for now.