Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_sync.cpp
| Show First 20 Lines • Show All 144 Lines • ▼ Show 20 Lines | else if (b_id.is_a(&RNA_Light)) { | ||||
| BL::Light b_light(b_id); | BL::Light b_light(b_id); | ||||
| shader_map.set_recalc(b_light); | shader_map.set_recalc(b_light); | ||||
| } | } | ||||
| /* Object */ | /* Object */ | ||||
| else if (b_id.is_a(&RNA_Object)) { | else if (b_id.is_a(&RNA_Object)) { | ||||
| BL::Object b_ob(b_id); | BL::Object b_ob(b_id); | ||||
| const bool is_geometry = object_is_geometry(b_ob); | const bool is_geometry = object_is_geometry(b_ob); | ||||
| const bool is_light = !is_geometry && object_is_light(b_ob); | const bool is_light = !is_geometry && object_is_light(b_ob); | ||||
| const bool is_instancer = object_is_instancer(b_ob); | |||||
| if (is_instancer && b_update->is_updated_shading()) { | |||||
| /* Needed for e.g. object color updates on instancer. */ | |||||
| object_map.set_recalc(b_ob); | |||||
| } | |||||
| if (is_geometry || is_light) { | if (is_geometry || is_light) { | ||||
| const bool updated_geometry = b_update->is_updated_geometry(); | const bool updated_geometry = b_update->is_updated_geometry(); | ||||
| /* Geometry (mesh, hair, volume). */ | /* Geometry (mesh, hair, volume). */ | ||||
| if (is_geometry) { | if (is_geometry) { | ||||
| if (b_update->is_updated_transform() || b_update->is_updated_shading()) { | if (b_update->is_updated_transform() || b_update->is_updated_shading()) { | ||||
| object_map.set_recalc(b_ob); | object_map.set_recalc(b_ob); | ||||
| ▲ Show 20 Lines • Show All 865 Lines • Show Last 20 Lines | |||||