Differential D4911 Diff 15559 source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc
| Show All 21 Lines | |||||
| */ | */ | ||||
| #include "intern/builder/deg_builder_relations.h" | #include "intern/builder/deg_builder_relations.h" | ||||
| #include "DNA_scene_types.h" | #include "DNA_scene_types.h" | ||||
| namespace DEG { | namespace DEG { | ||||
| void DepsgraphRelationBuilder::build_scene_render(Scene *scene) | |||||
| { | |||||
| const bool build_compositor = (scene->r.scemode & R_DOCOMP); | |||||
| build_scene_parameters(scene); | |||||
| if (build_compositor) { | |||||
| build_scene_compositor(scene); | |||||
| } | |||||
| } | |||||
| void DepsgraphRelationBuilder::build_scene_parameters(Scene *scene) | void DepsgraphRelationBuilder::build_scene_parameters(Scene *scene) | ||||
| { | { | ||||
| if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_PARAMETERS)) { | if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_PARAMETERS)) { | ||||
| return; | return; | ||||
| } | } | ||||
| OperationKey parameters_eval_key( | OperationKey parameters_eval_key( | ||||
| &scene->id, NodeType::PARAMETERS, OperationCode::PARAMETERS_EVAL); | &scene->id, NodeType::PARAMETERS, OperationCode::PARAMETERS_EVAL); | ||||
| OperationKey scene_eval_key(&scene->id, NodeType::PARAMETERS, OperationCode::SCENE_EVAL); | OperationKey scene_eval_key(&scene->id, NodeType::PARAMETERS, OperationCode::SCENE_EVAL); | ||||
| add_relation(parameters_eval_key, scene_eval_key, "Parameters -> Scene Eval"); | add_relation(parameters_eval_key, scene_eval_key, "Parameters -> Scene Eval"); | ||||
| } | } | ||||
| void DepsgraphRelationBuilder::build_scene_compositor(Scene *scene) | |||||
| { | |||||
| if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_COMPOSITOR)) { | |||||
| return; | |||||
| } | |||||
| if (scene->nodetree == NULL) { | |||||
| return; | |||||
| } | |||||
| build_nodetree(scene->nodetree); | |||||
| } | |||||
| } // namespace DEG | } // namespace DEG | ||||