diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2020-02-13 03:29:30 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2020-02-14 02:33:50 +0300 |
commit | 4af74f453d4e41129626f7578c55ac9927f6d02a (patch) | |
tree | 3282c0e74e96d3d155e87618f4dfb3ca2157d5b9 /source/blender/freestyle | |
parent | b6572c5430c570130c6f6aec92522fdf9df6365a (diff) |
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
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
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; |