Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/kernel/svm/svm_geometry.h')
-rw-r--r--intern/cycles/kernel/svm/svm_geometry.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/intern/cycles/kernel/svm/svm_geometry.h b/intern/cycles/kernel/svm/svm_geometry.h
index dab19983946..88127b56474 100644
--- a/intern/cycles/kernel/svm/svm_geometry.h
+++ b/intern/cycles/kernel/svm/svm_geometry.h
@@ -94,5 +94,27 @@ __device void svm_node_object_info(KernelGlobals *kg, ShaderData *sd, float *sta
stack_store_float(stack, out_offset, data);
}
+/* Particle Info */
+
+__device void svm_node_particle_info(KernelGlobals *kg, ShaderData *sd, float *stack, uint type, uint out_offset)
+{
+ float data;
+
+ switch(type) {
+ case NODE_INFO_PAR_AGE: {
+ uint particle_id = object_particle_id(kg, sd->object);
+ data = particle_age(kg, particle_id);
+ stack_store_float(stack, out_offset, data);
+ break;
+ }
+ case NODE_INFO_PAR_LIFETIME: {
+ uint particle_id = object_particle_id(kg, sd->object);
+ data = particle_lifetime(kg, particle_id);
+ stack_store_float(stack, out_offset, data);
+ break;
+ }
+ }
+}
+
CCL_NAMESPACE_END