[Bf-blender-cvs] [185d002] master: Cycles: Fix too many objects being considered an instance

Sergey Sharybin noreply at git.blender.org
Thu Mar 31 17:46:16 CEST 2016


Commit: 185d00258666eba96a8c838964c9e17bd898d8a1
Author: Sergey Sharybin
Date:   Thu Mar 31 17:46:22 2016 +0200
Branches: master
https://developer.blender.org/rB185d00258666eba96a8c838964c9e17bd898d8a1

Cycles: Fix too many objects being considered an instance

===================================================================

M	intern/cycles/render/object.cpp

===================================================================

diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp
index ae3779c..42bb665 100644
--- a/intern/cycles/render/object.cpp
+++ b/intern/cycles/render/object.cpp
@@ -512,7 +512,12 @@ void ObjectManager::apply_static_transforms(DeviceScene *dscene, Scene *scene, u
 
 	/* apply transforms for objects with single user meshes */
 	foreach(Object *object, scene->objects) {
-		if((mesh_users[object->mesh] == 1 && !object->mesh->is_instanced()) &&
+		/* Annoying feedback loop here: we can't use is_instanced() because
+		 * it'll use uninitialized transform_applied flag.
+		 *
+		 * Could be solved by moving reference counter to Mesh.
+		 */
+		if((mesh_users[object->mesh] == 1 && !object->mesh->has_surface_bssrdf) &&
 		   object->mesh->displacement_method == Mesh::DISPLACE_BUMP)
 		{
 			if(!(motion_blur && object->use_motion)) {




More information about the Bf-blender-cvs mailing list