Fix #33113: cycles not rendering motion blur correct with dying particles.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 8 Nov 2012 16:35:28 +0000 (16:35 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 8 Nov 2012 16:35:28 +0000 (16:35 +0000)
commit863291bc8e44eaed79946706b417944cdf9dfa4f
tree68f6b1b859f41871de053c953ebd7d6fdfdb43fd
parente73408f2474f7e6d9f1ff880f7f07c678f28e0ce
Fix #33113: cycles not rendering motion blur correct with dying particles.

There were a bunch of other issues with dupli motion blur and syncing, the problem
being that there was no proper way to detect corresponding duplis between frames
or updates. As a solution, a persistent_id was added to the DupliObject. It's an
extension of the previous index value, with one index for each dupli level. This
can be used to reliably find matching dupli objects between frames. Works with
nested duplis, multiple particle systems, etc.
intern/cycles/blender/blender_object.cpp
intern/cycles/blender/blender_particles.cpp
intern/cycles/blender/blender_sync.h
intern/cycles/blender/blender_util.h
intern/cycles/render/particles.cpp
source/blender/blenkernel/intern/anim.c
source/blender/editors/object/object_add.c
source/blender/makesdna/DNA_object_types.h
source/blender/makesrna/intern/rna_object.c
source/blender/render/intern/source/convertblender.c