Added a particle index output to the Particle Info Cycles node. This is required...
authorLukas Toenne <lukas.toenne@googlemail.com>
Thu, 26 Jul 2012 11:40:58 +0000 (11:40 +0000)
committerLukas Toenne <lukas.toenne@googlemail.com>
Thu, 26 Jul 2012 11:40:58 +0000 (11:40 +0000)
commitfec872ef9c0bb6904cbe9a7b59b3f51ae7bb0702
treeaeb75f40ec873b33dd1e76e55ab0f05eac1768a9
parent53a861b6f9ece221089b9364fa5a9e87175b580c
Added a particle index output to the Particle Info Cycles node. This is required to get consistent ID numbers for particles. The Object ID is not usable since it's a user defined value of the instanced object, which does not vary per instance. Also the random value from the object info node is not consistent over time, since it only depends on the index in the dupli list (so each emitted or dying particle shifts the value).

The particle index is always the same for a specific particle. Randomized values can be generated from this with the use of a noise texture.
intern/cycles/blender/blender_particles.cpp
intern/cycles/kernel/kernel_object.h
intern/cycles/kernel/svm/svm_geometry.h
intern/cycles/kernel/svm/svm_types.h
intern/cycles/render/nodes.cpp
intern/cycles/render/object.cpp
intern/cycles/render/object.h
source/blender/nodes/shader/nodes/node_shader_particle_info.c