From 78c6684ee9760506dc7cf8105e13e6910222d728 Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Tue, 6 Feb 2018 09:11:59 +0900 Subject: Freestyle: Unnecessary repeats of Cycles property copying. As a follow-up to the commit rB354f92a49458795c69f857de927c5b1531cd3618 for fixing Freestyle crash when using Cycles (thanks Brecht for the fix), this revision applies a related bugfix addressed partly in D3040 (item #2 in the description). --- .../intern/blender_interface/BlenderStrokeRenderer.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'source/blender/freestyle') diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp index aa7d7302896..977bca66731 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp @@ -129,6 +129,14 @@ BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : Str freestyle_scene->id.properties = IDP_CopyProperty_ex(old_scene->id.properties, 0); } + if (STREQ(freestyle_scene->view_render.engine_id, RE_engine_id_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"); + RNA_boolean_set(&freestyle_cycles_ptr, "film_transparent", 1); + } + if (G.debug & G_DEBUG_FREESTYLE) { printf("%s: %d thread(s)\n", __func__, BKE_render_num_threads(&freestyle_scene->r)); } @@ -487,15 +495,6 @@ void BlenderStrokeRenderer::RenderStrokeRepBasic(StrokeRep *iStrokeRep) const ma = BlenderStrokeRenderer::GetStrokeShader(freestyle_bmain, nt, false); BLI_ghash_insert(_nodetree_hash, nt, ma); } - - if (STREQ(freestyle_scene->view_render.engine_id, RE_engine_id_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"); - RNA_boolean_set(&freestyle_cycles_ptr, "film_transparent", 1); - } - iStrokeRep->setMaterial(ma); } else { -- cgit v1.2.3