Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_object.cpp
| Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | bool BlenderSync::object_is_light(BL::Object& b_ob) | ||||
| return (b_ob_data && b_ob_data.is_a(&RNA_Lamp)); | return (b_ob_data && b_ob_data.is_a(&RNA_Lamp)); | ||||
| } | } | ||||
| static uint object_ray_visibility(BL::Object& b_ob) | static uint object_ray_visibility(BL::Object& b_ob) | ||||
| { | { | ||||
| PointerRNA cvisibility = RNA_pointer_get(&b_ob.ptr, "cycles_visibility"); | PointerRNA cvisibility = RNA_pointer_get(&b_ob.ptr, "cycles_visibility"); | ||||
| uint flag = 0; | uint flag = 0; | ||||
| flag |= get_boolean(cvisibility, "camera")? PATH_RAY_CAMERA: 0; | flag |= (b_ob.is_visible() && get_boolean(cvisibility, "camera"))? PATH_RAY_CAMERA: 0; | ||||
| flag |= get_boolean(cvisibility, "diffuse")? PATH_RAY_DIFFUSE: 0; | flag |= get_boolean(cvisibility, "diffuse")? PATH_RAY_DIFFUSE: 0; | ||||
| flag |= get_boolean(cvisibility, "glossy")? PATH_RAY_GLOSSY: 0; | flag |= get_boolean(cvisibility, "glossy")? PATH_RAY_GLOSSY: 0; | ||||
| flag |= get_boolean(cvisibility, "transmission")? PATH_RAY_TRANSMIT: 0; | flag |= get_boolean(cvisibility, "transmission")? PATH_RAY_TRANSMIT: 0; | ||||
| flag |= get_boolean(cvisibility, "shadow")? PATH_RAY_SHADOW: 0; | flag |= get_boolean(cvisibility, "shadow")? PATH_RAY_SHADOW: 0; | ||||
| flag |= get_boolean(cvisibility, "scatter")? PATH_RAY_VOLUME_SCATTER: 0; | flag |= get_boolean(cvisibility, "scatter")? PATH_RAY_VOLUME_SCATTER: 0; | ||||
| return flag; | return flag; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 423 Lines • ▼ Show 20 Lines | void BlenderSync::sync_objects(float motion_time) | ||||
| bool use_portal = false; | bool use_portal = false; | ||||
| BL::Depsgraph::duplis_iterator b_dupli_iter; | BL::Depsgraph::duplis_iterator b_dupli_iter; | ||||
| for(b_depsgraph.duplis.begin(b_dupli_iter); | for(b_depsgraph.duplis.begin(b_dupli_iter); | ||||
| b_dupli_iter != b_depsgraph.duplis.end() && !cancel; | b_dupli_iter != b_depsgraph.duplis.end() && !cancel; | ||||
| ++b_dupli_iter) | ++b_dupli_iter) | ||||
| { | { | ||||
| BL::Object b_ob = b_dupli_iter->object(); | BL::Object b_ob = b_dupli_iter->object(); | ||||
| if(!b_ob.is_visible()) { | |||||
| continue; | |||||
| } | |||||
| progress.set_sync_status("Synchronizing object", b_ob.name()); | progress.set_sync_status("Synchronizing object", b_ob.name()); | ||||
| /* load per-object culling data */ | /* load per-object culling data */ | ||||
| culling.init_object(scene, b_ob); | culling.init_object(scene, b_ob); | ||||
| /* test if object needs to be hidden */ | /* test if object needs to be hidden */ | ||||
| bool hide_tris; | bool hide_tris; | ||||
| ▲ Show 20 Lines • Show All 121 Lines • Show Last 20 Lines | |||||