Cycles: Make per-object random value output also work for Lamps

This commit is contained in:
Lukas Stockner
2017-11-05 21:59:17 +01:00
parent d8066fb0f1
commit 212a8d9e5a
8 changed files with 42 additions and 3 deletions

View File

@@ -90,7 +90,15 @@ ccl_device void svm_node_object_info(KernelGlobals *kg, ShaderData *sd, float *s
}
case NODE_INFO_OB_INDEX: data = object_pass_id(kg, sd->object); break;
case NODE_INFO_MAT_INDEX: data = shader_pass_id(kg, sd); break;
case NODE_INFO_OB_RANDOM: data = object_random_number(kg, sd->object); break;
case NODE_INFO_OB_RANDOM: {
if(sd->lamp != LAMP_NONE) {
data = lamp_random_number(kg, sd->lamp);
}
else {
data = object_random_number(kg, sd->object);
}
break;
}
default: data = 0.0f; break;
}