Blender Git Commit Log

Git Commits -> Revision 128eb6c

Revision 128eb6c by Brecht Van Lommel (master)
September 10, 2021, 14:48 (GMT)
Modifiers: export motion blur velocity through attribute

Previously fluid simulation and Alembic modifiers had a dedicated function
to query the velocity for motion blur. Now use a more generic system where
those modifiers output a velocity attribute.

Advantages:
* Geometry and particle nodes can output velocity through the same mechanism,
or read the attribute coming from earlier modifiers.
* The velocity can be preserved through modifiers like subdivision surface or
auto smooth.
* USD and Alembic previously only output velocity from fluid simulation, now
they work with velocity from other sources too.
* Simplifies the code for renderers like Cycles and exporters like
Alembic and USD.

This breaks compatibility:
* External renderers and exporters accessing these velocities through the
Python API now need to use the attribute instead.
* Existing modifier node setups that create an attribute named "velocity"
will render differently with motion blur.

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

Commit Details:

Full Hash: 128eb6cbe928e58dfee1c64f340fd8d663134c26
Parent Commit: 42215d7
Lines Changed: +300, -570

30 Modified Paths:

/intern/cycles/blender/blender_geometry.cpp (+3, -1) (Diff)
/intern/cycles/blender/blender_mesh.cpp (+66, -115) (Diff)
/intern/cycles/blender/blender_object.cpp (+11, -1) (Diff)
/intern/cycles/blender/blender_sync.h (+1, -0) (Diff)
/intern/cycles/blender/blender_util.h (+1, -27) (Diff)
/source/blender/blenkernel/BKE_attribute.h (+5, -0) (Diff)
/source/blender/blenkernel/intern/attribute.c (+24, -1) (Diff)
/source/blender/blenkernel/intern/fluid.c (+28, -37) (Diff)
/source/blender/blenkernel/intern/modifier.c (+0, -1) (Diff)
/source/blender/blenloader/intern/versioning_290.c (+0, -2) (Diff)
/source/blender/io/alembic/ABC_alembic.h (+3, -11) (Diff)
/source/blender/io/alembic/exporter/abc_writer_mesh.cc (+17, -39) (Diff)
/source/blender/io/alembic/exporter/abc_writer_mesh.h (+1, -4) (Diff)
/source/blender/io/alembic/intern/abc_customdata.h (+6, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_curves.cc (+2, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_curves.h (+3, -1) (Diff)
/source/blender/io/alembic/intern/abc_reader_mesh.cc (+76, -4) (Diff)
/source/blender/io/alembic/intern/abc_reader_mesh.h (+6, -2) (Diff)
/source/blender/io/alembic/intern/abc_reader_object.cc (+2, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_object.h (+9, -1) (Diff)
/source/blender/io/alembic/intern/alembic_capi.cc (+5, -135) (Diff)
/source/blender/io/usd/intern/usd_writer_mesh.cc (+12, -28) (Diff)
/source/blender/io/usd/intern/usd_writer_mesh.h (+1, -1) (Diff)
/source/blender/makesdna/DNA_fluid_defaults.h (+0, -2) (Diff)
/source/blender/makesdna/DNA_fluid_types.h (+1, -8) (Diff)
/source/blender/makesdna/DNA_modifier_defaults.h (+0, -4) (Diff)
/source/blender/makesdna/DNA_modifier_types.h (+0, -23) (Diff)
/source/blender/makesrna/intern/rna_fluid.c (+0, -24) (Diff)
/source/blender/makesrna/intern/rna_modifier.c (+0, -81) (Diff)
/source/blender/modifiers/intern/MOD_meshsequencecache.c (+17, -17) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021