Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-03-31 18:46:22 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-03-31 18:46:22 +0300
commit185d00258666eba96a8c838964c9e17bd898d8a1 (patch)
treeece028e2af68d71baa0c255d95dba186fbac8b10 /intern/cycles
parent6cc04b408c8ad8338dcdd98d620493a86735be44 (diff)
Cycles: Fix too many objects being considered an instance
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/render/object.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp
index ae3779c2b2c..42bb665cb9f 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)) {