diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-11 00:34:34 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-11 00:34:34 +0400 |
commit | 9d3ad07f1417fdc959ee3d3e86a7bff1c2ee6d80 (patch) | |
tree | 48ad22788cee5d1ded2bbbfc6edb7003fd054b6f /intern/cycles/blender/blender_shader.cpp | |
parent | d16a608f6d5cfdb45c0a72aaa7c5cbc0ebe19928 (diff) |
Cycles: ray visibility panel is now also available for the world, works same as
meshes and lamps. The light path node already made this possible but it's a bit
faster to render this way and convenient.
Diffstat (limited to 'intern/cycles/blender/blender_shader.cpp')
-rw-r--r-- | intern/cycles/blender/blender_shader.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 722b3919580..a5fe5dbf12f 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -895,8 +895,8 @@ void BlenderSync::sync_world(bool update_all) graph->connect(closure->output("Background"), out->input("Surface")); } - /* AO */ if(b_world) { + /* AO */ BL::WorldLighting b_light = b_world.light_settings(); if(b_light.use_ambient_occlusion()) @@ -905,6 +905,17 @@ void BlenderSync::sync_world(bool update_all) background->ao_factor = 0.0f; background->ao_distance = b_light.distance(); + + /* visibility */ + PointerRNA cvisibility = RNA_pointer_get(&b_world.ptr, "cycles_visibility"); + uint visibility = 0; + + visibility |= get_boolean(cvisibility, "camera")? PATH_RAY_CAMERA: 0; + visibility |= get_boolean(cvisibility, "diffuse")? PATH_RAY_DIFFUSE: 0; + visibility |= get_boolean(cvisibility, "glossy")? PATH_RAY_GLOSSY: 0; + visibility |= get_boolean(cvisibility, "transmission")? PATH_RAY_TRANSMIT: 0; + + background->visibility = visibility; } shader->set_graph(graph); |