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/scene/object.cpp')
-rw-r--r--intern/cycles/scene/object.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/scene/object.cpp b/intern/cycles/scene/object.cpp
index fda9a211e60..9b19169880a 100644
--- a/intern/cycles/scene/object.cpp
+++ b/intern/cycles/scene/object.cpp
@@ -90,6 +90,9 @@ NODE_DEFINE(Object)
SOCKET_BOOLEAN(is_shadow_catcher, "Shadow Catcher", false);
+ SOCKET_BOOLEAN(is_caustics_caster, "Cast Shadow Caustics", false);
+ SOCKET_BOOLEAN(is_caustics_receiver, "Receive Shadow Caustics", false);
+
SOCKET_NODE(particle_system, "Particle System", ParticleSystem::get_node_type());
SOCKET_INT(particle_index, "Particle Index", 0);
@@ -510,6 +513,14 @@ void ObjectManager::device_update_object_transform(UpdateObjectTransformState *s
kobject.visibility = ob->visibility_for_tracing();
kobject.primitive_type = geom->primitive_type();
+ /* Object shadow caustics flag */
+ if (ob->is_caustics_caster) {
+ flag |= SD_OBJECT_CAUSTICS_CASTER;
+ }
+ if (ob->is_caustics_receiver) {
+ flag |= SD_OBJECT_CAUSTICS_RECEIVER;
+ }
+
/* Object flag. */
if (ob->use_holdout) {
flag |= SD_OBJECT_HOLDOUT_MASK;