From be77eeae46e17c1b6ffb0e4d4834a1bd28aedf64 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Thu, 23 Aug 2018 01:24:48 +1200 Subject: Depsgraph: First draft of graph filtering API implementation When this works correctly, we should be able to feed in an existing depsgraph instance, and get out a "filtered" copy of it that contains only the subset of nodes needed to evaluate what we're interested in. The current implementation only filters on ID blocks/nodes, and starts by building a full new depsgraph instance first. I'd originally intended to do it per operation instead, copying over individual nodes as appropriate to have the smallest and least memory intensive graph possible. However, I ended up running into into problems with function binding + COW arguments, hence the current slow solution. --- source/blender/depsgraph/DEG_depsgraph.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/depsgraph/DEG_depsgraph.h') diff --git a/source/blender/depsgraph/DEG_depsgraph.h b/source/blender/depsgraph/DEG_depsgraph.h index 7e26987f936..d3900bc6350 100644 --- a/source/blender/depsgraph/DEG_depsgraph.h +++ b/source/blender/depsgraph/DEG_depsgraph.h @@ -71,6 +71,7 @@ struct ViewLayer; typedef enum eEvaluationMode { DAG_EVAL_VIEWPORT = 0, /* evaluate for OpenGL viewport */ DAG_EVAL_RENDER = 1, /* evaluate for render purposes */ + DAG_EVAL_BACKGROUND = 2, /* evaluate in background for baking/caching */ } eEvaluationMode; /* DagNode->eval_flags */ -- cgit v1.2.3