[Bf-blender-cvs] [c55c2dbfbaf] blender2.8: Make sure external engines also render fine with depsgraph + freestyle wip
Dalai Felinto
noreply at git.blender.org
Thu May 18 14:48:20 CEST 2017
Commit: c55c2dbfbafb78a21d6a0cad85e8293a81c994a0
Author: Dalai Felinto
Date: Thu May 18 14:47:44 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBc55c2dbfbafb78a21d6a0cad85e8293a81c994a0
Make sure external engines also render fine with depsgraph + freestyle wip
There is still a crash when using freestyle and Cycles,
but the changes here present are harmless
===================================================================
M source/blender/editors/render/render_internal.c
M source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
===================================================================
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index 069f6c981ef..d4e9956b189 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -307,6 +307,7 @@ static int screen_render_exec(bContext *C, wmOperator *op)
}
re = RE_NewRender(scene->id.name);
+ RE_SetDepsgraph(re, CTX_data_depsgraph(C));
lay_override = (v3d && v3d->lay != scene->lay) ? v3d->lay : 0;
G.is_break = false;
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 58d7e017d71..c1e9a50c860 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -948,7 +948,7 @@ Object *BlenderStrokeRenderer::NewMesh() const
return ob;
}
-Render *BlenderStrokeRenderer::RenderScene(Render * /*re*/, bool render)
+Render *BlenderStrokeRenderer::RenderScene(Render *re, bool render)
{
Camera *camera = (Camera *)freestyle_scene->camera->data;
if (camera->clipend < _z)
@@ -960,6 +960,7 @@ Render *BlenderStrokeRenderer::RenderScene(Render * /*re*/, bool render)
#endif
Render *freestyle_render = RE_NewRender(freestyle_scene->id.name);
+ freestyle_render->depsgraph = re->depsgraph;
RE_RenderFreestyleStrokes(freestyle_render, freestyle_bmain, freestyle_scene,
render && get_stroke_count() > 0);
More information about the Bf-blender-cvs
mailing list