[Bf-blender-cvs] [c67ac34880b] cycles-x: Merge branch 'master' into cycles-x
Sergey Sharybin
noreply at git.blender.org
Thu May 27 12:13:26 CEST 2021
Commit: c67ac34880b2d1322a8118d2c9d2494ae1894360
Author: Sergey Sharybin
Date: Thu May 27 12:13:05 2021 +0200
Branches: cycles-x
https://developer.blender.org/rBc67ac34880b2d1322a8118d2c9d2494ae1894360
Merge branch 'master' into cycles-x
===================================================================
===================================================================
diff --cc intern/cycles/blender/blender_sync.cpp
index 00b37a2ab44,82b3abd4432..04927d869fa
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@@ -399,15 -405,10 +394,16 @@@ void BlenderSync::sync_film(BL::ViewLay
Film *film = scene->film;
- vector<Pass> prevpasses = scene->passes;
-
if (b_v3d) {
- film->set_display_pass(BlenderViewportParameters::get_render_pass(b_v3d));
- film->set_display_pass(update_viewport_display_passes(b_v3d, scene->passes));
++ const BlenderViewportParameters new_viewport_parameters(b_v3d);
++ film->set_display_pass(new_viewport_parameters.display_pass);
+
+ if (use_developer_ui) {
+ film->set_show_active_pixels(BlenderViewportParameters::get_show_active_pixels(b_v3d));
+ }
+ else {
+ film->set_show_active_pixels(false);
+ }
}
film->set_exposure(get_float(cscene, "film_exposure"));
diff --cc intern/cycles/blender/blender_viewport.cpp
index e5c5ae662c8,07408fee218..ef7fc50dac1
--- a/intern/cycles/blender/blender_viewport.cpp
+++ b/intern/cycles/blender/blender_viewport.cpp
@@@ -65,31 -67,33 +67,30 @@@ bool BlenderViewportParameters::shader_
studiolight_path != other.studiolight_path;
}
- const bool BlenderViewportParameters::custom_viewport_parameters() const
+ bool BlenderViewportParameters::film_modified(const BlenderViewportParameters &other) const
{
- return !(use_scene_world && use_scene_lights);
+ return display_pass != other.display_pass;
}
- PassType BlenderViewportParameters::get_render_pass(BL::SpaceView3D &b_v3d)
+ bool BlenderViewportParameters::modified(const BlenderViewportParameters &other) const
{
- PassType display_pass = PASS_NONE;
- if (b_v3d) {
- BL::View3DShading b_view3dshading = b_v3d.shading();
- PointerRNA cshading = RNA_pointer_get(&b_view3dshading.ptr, "cycles");
- display_pass = (PassType)get_enum(cshading, "render_pass", -1, -1);
- }
- return display_pass;
+ return shader_modified(other) || film_modified(other);
+ }
+
+ bool BlenderViewportParameters::use_custom_shader() const
+ {
+ return !(use_scene_world && use_scene_lights);
}
-PassType update_viewport_display_passes(BL::SpaceView3D &b_v3d, vector<Pass> &passes)
+bool BlenderViewportParameters::get_show_active_pixels(BL::SpaceView3D &b_v3d)
{
+ bool show_active_pixels = PASS_NONE;
if (b_v3d) {
- const BlenderViewportParameters viewport_parameters(b_v3d);
- const PassType display_pass = viewport_parameters.display_pass;
-
- passes.clear();
- Pass::add(display_pass, passes);
-
- return display_pass;
+ BL::View3DShading b_view3dshading = b_v3d.shading();
+ PointerRNA cshading = RNA_pointer_get(&b_view3dshading.ptr, "cycles");
+ show_active_pixels = get_boolean(cshading, "show_active_pixels");
}
- return PASS_NONE;
+ return show_active_pixels;
}
CCL_NAMESPACE_END
diff --cc intern/cycles/blender/blender_viewport.h
index be0f3df3282,d6518597053..605d470a7ae
--- a/intern/cycles/blender/blender_viewport.h
+++ b/intern/cycles/blender/blender_viewport.h
@@@ -36,20 -37,27 +37,27 @@@ class BlenderViewportParameters
float studiolight_background_alpha;
ustring studiolight_path;
+ /* Film. */
+ PassType display_pass;
+
BlenderViewportParameters();
- BlenderViewportParameters(BL::SpaceView3D &b_v3d);
+ explicit BlenderViewportParameters(BL::SpaceView3D &b_v3d);
- const bool modified(const BlenderViewportParameters &other) const;
- const bool custom_viewport_parameters() const;
- friend class BlenderSync;
+ /* Check whether any of shading related settings are different from the given parameters. */
+ bool shader_modified(const BlenderViewportParameters &other) const;
- public:
- /* Retrieve the render pass type 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_render_pass(BL::SpaceView3D &b_v3d);
+ /* Check whether any of film related settings are different from the given parameters. */
+ bool film_modified(const BlenderViewportParameters &other) const;
+
+ /* Check whether any of settings are different from the given parameters. */
+ bool modified(const BlenderViewportParameters &other) const;
+
+ /* Returns truth when a custom shader defined by the viewport is to be used instead of the
+ * regular background shader or scene light. */
+ bool use_custom_shader() const;
-};
-PassType update_viewport_display_passes(BL::SpaceView3D &b_v3d, vector<Pass> &passes);
+ static bool get_show_active_pixels(BL::SpaceView3D &b_v3d);
+};
CCL_NAMESPACE_END
More information about the Bf-blender-cvs
mailing list