[Bf-blender-cvs] [836ea4b] master: Fix T43019: Child of objectes used by duplis are visible in Cycles

Sergey Sharybin noreply at git.blender.org
Fri Dec 26 09:36:57 CET 2014


Commit: 836ea4b70f8811144e4ccb0a15003c7ab7ef244e
Author: Sergey Sharybin
Date:   Fri Dec 26 13:34:48 2014 +0500
Branches: master
https://developer.blender.org/rB836ea4b70f8811144e4ccb0a15003c7ab7ef244e

Fix T43019: Child of objectes used by duplis are visible in Cycles

Seems the parent check didn't go deep enough and only checked single parent.
Now it checks the chain of parents which seems to be correct but requires
much more intense testing.

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

M	intern/cycles/blender/blender_object.cpp

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

diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 2fed7fd..e827d46 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -414,9 +414,17 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide
 
 	/* hide original object for duplis */
 	BL::Object parent = b_ob.parent();
-	if(parent && object_render_hide_original(b_ob.type(), parent.dupli_type()))
-		if(parent_hide)
-			hide_as_dupli_child_original = true;
+	while(parent) {
+		if(object_render_hide_original(b_ob.type(),
+		                               parent.dupli_type()))
+		{
+			if(parent_hide) {
+				hide_as_dupli_child_original = true;
+				break;
+			}
+		}
+		parent = parent.parent();
+	}
 	
 	hide_triangles = hide_emitter;




More information about the Bf-blender-cvs mailing list