diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-20 16:14:10 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-23 17:22:25 +0300 |
commit | b432209f63f873a025a7f4c3a79aa1d697dc9b98 (patch) | |
tree | dbba9e8605777f91b1db73aa821a18647464819f /source/blender/render/intern/include | |
parent | 0ec6fa782b63a05e52df2d013ffbf547b178ffd1 (diff) |
Render: Use dependency graph for compositor/sequencer
This change makes it so a minimal dependency graph which only includes
compositor and sequencer is built for the render pipeline purposes.
Tricky part here is that it's only compositor itself and sequencer who
to use this dependency graph and IDs from it. Render engines are still
to be provided original IDs because:
- They will create dependency graph for the given scene, and currently
it is not possible to create dependency graph from CoW scene.
- IDs from the compositor/sequencer dependency graph are "stripped",
as in, they wouldn't have all view layers, collections or objects
required for proper final render.
This creates annoying mess of mixing evaluated and original scene
access in various parts of the pipeline.
Fixes T63927: Compositing nodes - drivers don't really work
Reviewers: brecht
Maniphest Tasks: T63927
Differential Revision: https://developer.blender.org/D4911
Diffstat (limited to 'source/blender/render/intern/include')
-rw-r--r-- | source/blender/render/intern/include/render_types.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index e4a2afa4349..efa328cf14d 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -118,6 +118,11 @@ struct Render { /* render engine */ struct RenderEngine *engine; + /* NOTE: This is a minimal dependency graph and evaluated scene which is enough to access view + * layer visibility and use for post-precessing (compositor and sequencer). */ + Depsgraph *pipeline_depsgraph; + Scene *pipeline_scene_eval; + #ifdef WITH_FREESTYLE struct Main *freestyle_bmain; ListBase freestyle_renders; |