diff options
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp index 29f3bfe0d94..70de246a8de 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp @@ -654,6 +654,12 @@ int BlenderStrokeRenderer::GenerateScene() { GenerateStrokeMesh(*it, true); } + return get_stroke_count(); +} + +// Return the number of strokes +int BlenderStrokeRenderer::get_stroke_count() const +{ return strokeGroups.size() + texturedStrokeGroups.size(); } @@ -912,7 +918,7 @@ void BlenderStrokeRenderer::GenerateStrokeMesh(StrokeGroup *group, bool hasTex) BLI_assert(mesh->totedge == edge_index); BLI_assert(mesh->totloop == loop_index); BLI_assert(mesh->totcol == material_index); - BKE_mesh_validate(mesh, true); + BKE_mesh_validate(mesh, true, true); #endif } @@ -956,7 +962,8 @@ Render *BlenderStrokeRenderer::RenderScene(Render *re, bool render) Render *freestyle_render = RE_NewRender(freestyle_scene->id.name); - RE_RenderFreestyleStrokes(freestyle_render, freestyle_bmain, freestyle_scene, render); + RE_RenderFreestyleStrokes(freestyle_render, freestyle_bmain, freestyle_scene, + render && get_stroke_count() > 0); return freestyle_render; } |