From 4af74f453d4e41129626f7578c55ac9927f6d02a Mon Sep 17 00:00:00 2001 From: Lukas Stockner Date: Thu, 13 Feb 2020 01:29:30 +0100 Subject: Freestyle: Add option for rendering Freestyle to a separate pass This allows for more flexibility in Compositing compared to the hardcoded alpha-over that is currently used. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6829 --- .../freestyle/intern/blender_interface/FRS_freestyle.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source/blender/freestyle/intern') diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp index fdf9d4bac3d..0877107a240 100644 --- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp +++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp @@ -549,7 +549,15 @@ void FRS_composite_result(Render *re, ViewLayer *view_layer, Render *freestyle_r } return; } - dest = RE_RenderLayerGetPass(rl, RE_PASSNAME_COMBINED, re->viewname); + + if (view_layer->freestyle_config.flags & FREESTYLE_AS_RENDER_PASS) { + RE_create_render_pass( + re->result, RE_PASSNAME_FREESTYLE, 4, "RGBA", view_layer->name, re->viewname); + dest = RE_RenderLayerGetPass(rl, RE_PASSNAME_FREESTYLE, re->viewname); + } + else { + dest = RE_RenderLayerGetPass(rl, RE_PASSNAME_COMBINED, re->viewname); + } if (!dest) { if (G.debug & G_DEBUG_FREESTYLE) { cout << "No destination result image to composite to" << endl; -- cgit v1.2.3