From f8359b5f52d65a3d59ca9d24db67805d2a0ce316 Mon Sep 17 00:00:00 2001 From: Sebastian Parborg Date: Tue, 2 Feb 2021 16:45:23 +0100 Subject: Fix freestyle render pass not being created when there are no strokes It could lead to missing images when outputing the pass to an image sequence. --- .../blender/freestyle/intern/blender_interface/FRS_freestyle.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp index f45ff77cf41..7772a30c5f4 100644 --- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp +++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp @@ -500,6 +500,11 @@ void FRS_composite_result(Render *re, ViewLayer *view_layer, Render *freestyle_r int x, y, rectx, recty; if (freestyle_render == nullptr || freestyle_render->result == nullptr) { + if (view_layer->freestyle_config.flags & FREESTYLE_AS_RENDER_PASS) { + // Create a blank render pass output. + RE_create_render_pass( + re->result, RE_PASSNAME_FREESTYLE, 4, "RGBA", view_layer->name, re->viewname); + } return; } @@ -677,8 +682,8 @@ void FRS_do_stroke_rendering(Render *re, ViewLayer *view_layer) g_freestyle.scene = nullptr; // composite result + FRS_composite_result(re, view_layer, freestyle_render); if (freestyle_render) { - FRS_composite_result(re, view_layer, freestyle_render); RE_FreeRender(freestyle_render); } } -- cgit v1.2.3