[Bf-blender-cvs] [354f92a4945] blender2.8: Fix Freestyle not copying Cycles properties to stroke rendering scene.

Brecht Van Lommel noreply at git.blender.org
Mon Feb 5 21:41:50 CET 2018


Commit: 354f92a49458795c69f857de927c5b1531cd3618
Author: Brecht Van Lommel
Date:   Mon Feb 5 16:16:09 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB354f92a49458795c69f857de927c5b1531cd3618

Fix Freestyle not copying Cycles properties to stroke rendering scene.

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

M	source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp

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

diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 79f17756ca6..d29e3c95e41 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -45,6 +45,7 @@ extern "C" {
 
 #include "BKE_collection.h"
 #include "BKE_customdata.h"
+#include "BKE_idprop.h"
 #include "BKE_global.h"
 #include "BKE_library.h" /* free_libblock */
 #include "BKE_material.h"
@@ -120,6 +121,11 @@ BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : Str
 	freestyle_scene->r.im_format.planes = R_IMF_PLANES_RGBA;
 	freestyle_scene->r.im_format.imtype = R_IMF_IMTYPE_PNG;
 
+	// Copy ID properties, including Cycles render properties
+	if (old_scene->id.properties) {
+		freestyle_scene->id.properties = IDP_CopyProperty_ex(old_scene->id.properties, 0);
+	}
+
 	if (G.debug & G_DEBUG_FREESTYLE) {
 		printf("%s: %d thread(s)\n", __func__, BKE_render_num_threads(&freestyle_scene->r));
 	}
@@ -480,23 +486,10 @@ void BlenderStrokeRenderer::RenderStrokeRepBasic(StrokeRep *iStrokeRep) const
 		}
 
 		if (STREQ(freestyle_scene->view_render.engine_id, RE_engine_id_CYCLES)) {
-			PointerRNA scene_ptr, freestyle_scene_ptr;
-			RNA_pointer_create(NULL, &RNA_Scene, old_scene, &scene_ptr);
-			RNA_pointer_create(NULL, &RNA_Scene, freestyle_scene, &freestyle_scene_ptr);
-
-			PointerRNA cycles_ptr = RNA_pointer_get(&scene_ptr, "cycles");
+			/* Render with transparent background. */
+			PointerRNA freestyle_scene_ptr;
+			RNA_id_pointer_create(&freestyle_scene->id, &freestyle_scene_ptr);
 			PointerRNA freestyle_cycles_ptr = RNA_pointer_get(&freestyle_scene_ptr, "cycles");
-
-			int flag;
-			RNA_STRUCT_BEGIN(&freestyle_cycles_ptr, prop)
-			{
-				flag = RNA_property_flag(prop);
-				if (flag & PROP_HIDDEN)
-					continue;
-				RNA_property_copy(&freestyle_cycles_ptr, &cycles_ptr, prop, -1);
-			}
-			RNA_STRUCT_END;
-
 			RNA_boolean_set(&freestyle_cycles_ptr, "film_transparent", 1);
 		}



More information about the Bf-blender-cvs mailing list