[Bf-blender-cvs] [ee11068] gooseberry: Merge branch 'master' into gooseberry
Antony Riakiotakis
noreply at git.blender.org
Thu Apr 9 18:30:48 CEST 2015
Commit: ee110680fd76f67e51927ae0e8ef00010f753767
Author: Antony Riakiotakis
Date: Thu Apr 9 18:30:40 2015 +0200
Branches: gooseberry
https://developer.blender.org/rBee110680fd76f67e51927ae0e8ef00010f753767
Merge branch 'master' into gooseberry
===================================================================
===================================================================
diff --cc intern/cycles/blender/blender_mesh.cpp
index 8d6f9f0,d88ebb8..7700e6c
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@@ -669,27 -621,16 +669,33 @@@ Mesh *BlenderSync::sync_mesh(BL::Objec
}
/* test if we need to sync */
- bool use_mesh_geometry = render_layer.use_surfaces || render_layer.use_hair;
+ int requested_geometry_flags = Mesh::GEOMETRY_NONE;
+ if(render_layer.use_surfaces) {
+ requested_geometry_flags |= Mesh::GEOMETRY_TRIANGLES;
+ }
+ if(render_layer.use_hair) {
+ requested_geometry_flags |= Mesh::GEOMETRY_CURVES;
+ }
Mesh *mesh;
- if(!mesh_map.sync(&mesh, key)) {
+ bool need_update;
+ BL::CacheLibrary b_cachelib = b_parent.cache_library();
+ bool use_dupli_override = b_dupli_ob && b_cachelib &&
+ (b_cachelib.source_mode() == BL::CacheLibrary::source_mode_CACHE ||
+ b_cachelib.display_mode() == BL::CacheLibrary::display_mode_RESULT);
+ if (use_dupli_override) {
+ /* if a dupli override (cached data) is used, identify the mesh by object and parent together,
+ * so that individual per-dupli overrides are possible.
+ */
+ MeshKey key = MeshKey(b_parent, b_ob);
+ need_update = mesh_map.sync(&mesh, b_parent, PointerRNA_NULL, key);
+ }
+ else {
+ BL::ID key = (BKE_object_is_modified(b_ob))? b_ob: b_ob_data;
+ need_update = mesh_map.sync(&mesh, key);
+ }
+
+ if(!need_update) {
/* if transform was applied to mesh, need full update */
if(object_updated && mesh->transform_applied);
/* test if shaders changed, these can be object level so mesh
More information about the Bf-blender-cvs
mailing list