diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2019-09-05 13:47:20 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2019-09-11 13:19:44 +0300 |
commit | 7e61e597253f3ca75f2fb86a57212ca750ffbbe8 (patch) | |
tree | 6dbe0bf05fc3380f9729bf719ed1223997d5b0e3 /intern/cycles/blender/blender_viewport.h | |
parent | d4f8bc80a4bd69707a92e7141a2fb67d3f668c58 (diff) |
Cycles: Display RenderPass in Viewport
This change allows the user to select a renderpass in the 3d viewport.
Added support for external renderers to extend the `View3DShading` struct.
This way Blender doesn't need to know the features an external render engine wants to support.
Note that the View3DShading is also available in the scene->display.shading; although this is
supported, it does not make sense for render engines to put something here as it is really
scene/workbench related.
Currently cycles assumes that it always needs to calculate the combined pass; it ignores the
`pass_flag` in KernelFilm. We could optimize this but that was not in scope of this change
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D5689
Diffstat (limited to 'intern/cycles/blender/blender_viewport.h')
-rw-r--r-- | intern/cycles/blender/blender_viewport.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_viewport.h b/intern/cycles/blender/blender_viewport.h index 6b2f8ea4215..564c4f2b210 100644 --- a/intern/cycles/blender/blender_viewport.h +++ b/intern/cycles/blender/blender_viewport.h @@ -22,6 +22,7 @@ #include "RNA_access.h" #include "RNA_blender_cpp.h" +#include "render/film.h" #include "util/util_param.h" CCL_NAMESPACE_BEGIN @@ -41,8 +42,17 @@ class BlenderViewportParameters { const bool modified(const BlenderViewportParameters &other) const; const bool custom_viewport_parameters() const; friend class BlenderSync; + + public: + /* Retrieve the render pass that needs to be displayed on the given `SpaceView3D` + * When the `b_v3d` parameter is not given `PASS_NONE` will be returned. */ + static PassType get_viewport_display_render_pass(BL::SpaceView3D &b_v3d); }; +PassType update_viewport_display_passes(BL::SpaceView3D &b_v3d, + vector<Pass> &passes, + bool reset_passes); + CCL_NAMESPACE_END #endif |