[Bf-blender-cvs] [f8359b5f52d] blender-v2.92-release: Fix freestyle render pass not being created when there are no strokes

Sebastian Parborg noreply at git.blender.org
Tue Feb 2 16:47:05 CET 2021


Commit: f8359b5f52d65a3d59ca9d24db67805d2a0ce316
Author: Sebastian Parborg
Date:   Tue Feb 2 16:45:23 2021 +0100
Branches: blender-v2.92-release
https://developer.blender.org/rBf8359b5f52d65a3d59ca9d24db67805d2a0ce316

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.

===================================================================

M	source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp

===================================================================

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



More information about the Bf-blender-cvs mailing list