Fix T38811: Cycles particle ids are inconsistent when using multiple particle systems.
authorLukas Tönne <lukas.toenne@gmail.com>
Tue, 25 Feb 2014 17:29:11 +0000 (18:29 +0100)
committerLukas Tönne <lukas.toenne@gmail.com>
Tue, 25 Feb 2014 17:29:11 +0000 (18:29 +0100)
commit0bef196894abd19903b0741ec6250e0558b4f1a4
treea65b0078c166fd60c194530ec9bd8435d3c92b15
parentef73d547cc7c663ad180721094c81b3c81482ac3
Fix T38811: Cycles particle ids are inconsistent when using multiple particle systems.

Problem is that the particle systems in the cycles database are not
stored in a well-defined order. This means the particle_id for dupli
objects can not simply be assigned using a global running index during
sync.

Now the particle index is assigned locally for each particle system.
When transferring particle data to the device as a single texture, the
particle indices are offset based on the final order of particle systems
in the database.

Reviewers: brecht

Reviewed By: brecht

CC: Andreas80
Differential Revision: https://developer.blender.org/D352
intern/cycles/blender/blender_object.cpp
intern/cycles/blender/blender_particles.cpp
intern/cycles/render/object.cpp
intern/cycles/render/object.h