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.
This commit is contained in:
Sebastian Parborg 2021-02-02 16:45:23 +01:00
parent 56bccd2395
commit f8359b5f52
1 changed files with 6 additions and 1 deletions

View File

@ -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);
}
}