Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_sync.cpp
| Context not available. | |||||
| experimental(false), | experimental(false), | ||||
| is_cpu(is_cpu), | is_cpu(is_cpu), | ||||
| dicing_rate(1.0f), | dicing_rate(1.0f), | ||||
| max_subdivision_level(12), | |||||
| progress(progress) | progress(progress) | ||||
| { | { | ||||
| PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); | PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); | ||||
| dicing_rate = preview ? RNA_float_get(&cscene, "preview_dicing_rate") : RNA_float_get(&cscene, "dicing_rate"); | dicing_rate = preview ? RNA_float_get(&cscene, "preview_dicing_rate") : RNA_float_get(&cscene, "dicing_rate"); | ||||
| max_subdivision_level = RNA_int_get(&cscene, "max_subdivision_level"); | |||||
| } | } | ||||
| BlenderSync::~BlenderSync() | BlenderSync::~BlenderSync() | ||||
| Context not available. | |||||
| } | } | ||||
| } | } | ||||
| bool dicing_rate_changed = false; | bool dicing_prop_changed = false; | ||||
| if(experimental) { | if(experimental) { | ||||
| PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); | PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); | ||||
| float updated_dicing_rate = preview ? RNA_float_get(&cscene, "preview_dicing_rate") | float updated_dicing_rate = preview ? RNA_float_get(&cscene, "preview_dicing_rate") | ||||
| : RNA_float_get(&cscene, "dicing_rate"); | : RNA_float_get(&cscene, "dicing_rate"); | ||||
| if(dicing_rate != updated_dicing_rate) { | if(dicing_rate != updated_dicing_rate) { | ||||
| dicing_rate = updated_dicing_rate; | dicing_rate = updated_dicing_rate; | ||||
| dicing_rate_changed = true; | dicing_prop_changed = true; | ||||
| } | |||||
| int updated_max_subdivision_level = RNA_int_get(&cscene, "max_subdivision_level"); | |||||
| if(max_subdivision_level != updated_max_subdivision_level) { | |||||
| max_subdivision_level = updated_max_subdivision_level; | |||||
| dicing_prop_changed = true; | |||||
| } | } | ||||
| } | } | ||||
| Context not available. | |||||
| if(b_mesh->is_updated()) { | if(b_mesh->is_updated()) { | ||||
| mesh_map.set_recalc(*b_mesh); | mesh_map.set_recalc(*b_mesh); | ||||
| } | } | ||||
| else if(dicing_rate_changed) { | else if(dicing_prop_changed) { | ||||
| PointerRNA cmesh = RNA_pointer_get(&b_mesh->ptr, "cycles"); | PointerRNA cmesh = RNA_pointer_get(&b_mesh->ptr, "cycles"); | ||||
| if(RNA_enum_get(&cmesh, "subdivision_type")) | if(RNA_enum_get(&cmesh, "subdivision_type")) | ||||
| Context not available. | |||||