Fix T65034: Viewing material calls frame update handler

Use lower level dependency graph evaluation which doesn't run any handlers,
doesn't touch sound system, doesn't inform image editors about changes.

Should probably move such evaluation steps to a helper function in DEG module,
but that is more like a cleanup.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5067
This commit is contained in:
2019-06-12 17:50:58 +02:00
parent d63438e4d1
commit 8556b0da70

View File

@@ -510,7 +510,16 @@ static void engine_depsgraph_init(RenderEngine *engine, ViewLayer *view_layer)
engine->depsgraph = DEG_graph_new(scene, view_layer, DAG_EVAL_RENDER);
DEG_debug_name_set(engine->depsgraph, "RENDER");
BKE_scene_graph_update_for_newframe(engine->depsgraph, bmain);
if (engine->re->r.scemode & R_BUTS_PREVIEW) {
Depsgraph *depsgraph = engine->depsgraph;
DEG_graph_relations_update(depsgraph, bmain, scene, view_layer);
DEG_evaluate_on_framechange(bmain, depsgraph, CFRA);
DEG_ids_check_recalc(bmain, depsgraph, scene, view_layer, true);
DEG_ids_clear_recalc(bmain, depsgraph);
}
else {
BKE_scene_graph_update_for_newframe(engine->depsgraph, bmain);
}
}
static void engine_depsgraph_free(RenderEngine *engine)