diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-24 11:58:09 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-24 11:58:09 +0300 |
commit | ba58b9d2af5bb49ea9a3511fae18ba4d5780105b (patch) | |
tree | e6112b503dea9e8f343a66cfa7dd1c2236d18890 /source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc | |
parent | db8aa7b851207294ffc943dc201e4f2955ed01dd (diff) |
Depsgraph: Fixes for render pipeline building
- Need to assign current scene in the builder: it is used to
route relations for object's customdata.
- Tweak relation from scene to object for the customdaat: this
didn't work before because the render pipeline scene has no
view layer component.
Fixes T65044: Crash when Rendering (F12)
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc index 8f705fcaae5..b832473bde9 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc @@ -127,6 +127,11 @@ void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_la /* Scene parameters, compositor and such. */ build_scene_compositor(scene); build_scene_parameters(scene); + /* Make final scene evaluation dependent on view layer evaluation. */ + OperationKey scene_view_layer_key( + &scene->id, NodeType::LAYER_COLLECTIONS, OperationCode::VIEW_LAYER_EVAL); + OperationKey scene_eval_key(&scene->id, NodeType::PARAMETERS, OperationCode::SCENE_EVAL); + add_relation(scene_view_layer_key, scene_eval_key, "View Layer -> Scene Eval"); /* Build all set scenes. */ if (scene->set != NULL) { ViewLayer *set_view_layer = BKE_view_layer_default_render(scene->set); |