[Bf-blender-cvs] [3632c49] temp_remove_particles: Merge branch 'master' into temp_remove_particles
Lukas Tönne
noreply at git.blender.org
Wed Apr 20 16:25:32 CEST 2016
Commit: 3632c4997f5019d2a519996d9e216d474aa05d3b
Author: Lukas Tönne
Date: Wed Apr 20 16:25:16 2016 +0200
Branches: temp_remove_particles
https://developer.blender.org/rB3632c4997f5019d2a519996d9e216d474aa05d3b
Merge branch 'master' into temp_remove_particles
===================================================================
===================================================================
diff --cc intern/cycles/blender/blender_sync.cpp
index 71f4aff,6291b38..914b348
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@@ -115,13 -121,49 +120,43 @@@ bool BlenderSync::sync_recalc(
if(b_ob->is_updated_data() || b_ob->data().is_updated())
light_map.set_recalc(*b_ob);
}
-
- if(b_ob->is_updated_data()) {
- BL::Object::particle_systems_iterator b_psys;
- for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys)
- particle_system_map.set_recalc(*b_ob);
- }
}
+ bool dicing_prop_changed = false;
+
+ if(experimental) {
+ PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
+
+ float updated_dicing_rate = preview ? RNA_float_get(&cscene, "preview_dicing_rate")
+ : RNA_float_get(&cscene, "dicing_rate");
+
+ if(dicing_rate != updated_dicing_rate) {
+ dicing_rate = updated_dicing_rate;
+ dicing_prop_changed = true;
+ }
+
+ int updated_max_subdivisions = RNA_int_get(&cscene, "max_subdivisions");
+
+ if(max_subdivisions != updated_max_subdivisions) {
+ max_subdivisions = updated_max_subdivisions;
+ dicing_prop_changed = true;
+ }
+ }
+
BL::BlendData::meshes_iterator b_mesh;
- for(b_data.meshes.begin(b_mesh); b_mesh != b_data.meshes.end(); ++b_mesh)
- if(b_mesh->is_updated())
+ for(b_data.meshes.begin(b_mesh); b_mesh != b_data.meshes.end(); ++b_mesh) {
+ if(b_mesh->is_updated()) {
mesh_map.set_recalc(*b_mesh);
+ }
+ else if(dicing_prop_changed) {
+ PointerRNA cmesh = RNA_pointer_get(&b_mesh->ptr, "cycles");
+
+ if(RNA_enum_get(&cmesh, "subdivision_type"))
+ mesh_map.set_recalc(*b_mesh);
+ }
+ }
+
BL::BlendData::worlds_iterator b_world;
More information about the Bf-blender-cvs
mailing list