[Bf-blender-cvs] [d6207962386] cycles-x: Fix missing update enabling active pixels overlay in Cycles-X
Sergey Sharybin
noreply at git.blender.org
Thu May 27 12:17:25 CEST 2021
Commit: d62079623868d1106e7bbd566be2ae35bc5713c0
Author: Sergey Sharybin
Date: Thu May 27 12:16:11 2021 +0200
Branches: cycles-x
https://developer.blender.org/rBd62079623868d1106e7bbd566be2ae35bc5713c0
Fix missing update enabling active pixels overlay in Cycles-X
===================================================================
M intern/cycles/blender/blender_light.cpp
M intern/cycles/blender/blender_object.cpp
M intern/cycles/blender/blender_shader.cpp
M intern/cycles/blender/blender_sync.cpp
M intern/cycles/blender/blender_viewport.cpp
M intern/cycles/blender/blender_viewport.h
===================================================================
diff --git a/intern/cycles/blender/blender_light.cpp b/intern/cycles/blender/blender_light.cpp
index 5c46626d677..4b560b573d5 100644
--- a/intern/cycles/blender/blender_light.cpp
+++ b/intern/cycles/blender/blender_light.cpp
@@ -193,7 +193,7 @@ void BlenderSync::sync_background_light(BL::SpaceView3D &b_v3d, bool use_portal)
world_map = b_world.ptr.data;
world_recalc = false;
- viewport_parameters = BlenderViewportParameters(b_v3d);
+ viewport_parameters = BlenderViewportParameters(b_v3d, use_developer_ui);
}
CCL_NAMESPACE_END
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index cb84013c551..fd2ee06a85f 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -503,7 +503,7 @@ void BlenderSync::sync_objects(BL::Depsgraph &b_depsgraph,
/* object loop */
bool cancel = false;
bool use_portal = false;
- const bool show_lights = BlenderViewportParameters(b_v3d).use_scene_lights;
+ const bool show_lights = BlenderViewportParameters(b_v3d, use_developer_ui).use_scene_lights;
BL::ViewLayer b_view_layer = b_depsgraph.view_layer_eval();
BL::Depsgraph::object_instances_iterator b_instance_iter;
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index 7f129310736..e6f2829913b 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -1370,7 +1370,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
BL::World b_world = b_scene.world();
- BlenderViewportParameters new_viewport_parameters(b_v3d);
+ BlenderViewportParameters new_viewport_parameters(b_v3d, use_developer_ui);
if (world_recalc || update_all || b_world.ptr.data != world_map ||
viewport_parameters.shader_modified(new_viewport_parameters)) {
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 04927d869fa..744bf6a70d0 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -225,7 +225,7 @@ void BlenderSync::sync_recalc(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d
}
if (b_v3d) {
- BlenderViewportParameters new_viewport_parameters(b_v3d);
+ BlenderViewportParameters new_viewport_parameters(b_v3d, use_developer_ui);
if (viewport_parameters.shader_modified(new_viewport_parameters)) {
world_recalc = true;
@@ -395,15 +395,9 @@ void BlenderSync::sync_film(BL::ViewLayer &b_view_layer, BL::SpaceView3D &b_v3d)
Film *film = scene->film;
if (b_v3d) {
- const BlenderViewportParameters new_viewport_parameters(b_v3d);
+ const BlenderViewportParameters new_viewport_parameters(b_v3d, use_developer_ui);
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_show_active_pixels(new_viewport_parameters.show_active_pixels);
}
film->set_exposure(get_float(cscene, "film_exposure"));
diff --git a/intern/cycles/blender/blender_viewport.cpp b/intern/cycles/blender/blender_viewport.cpp
index ef7fc50dac1..afe45001eab 100644
--- a/intern/cycles/blender/blender_viewport.cpp
+++ b/intern/cycles/blender/blender_viewport.cpp
@@ -26,11 +26,12 @@ BlenderViewportParameters::BlenderViewportParameters()
studiolight_rotate_z(0.0f),
studiolight_intensity(1.0f),
studiolight_background_alpha(1.0f),
- display_pass(PASS_COMBINED)
+ display_pass(PASS_COMBINED),
+ show_active_pixels(false)
{
}
-BlenderViewportParameters::BlenderViewportParameters(BL::SpaceView3D &b_v3d)
+BlenderViewportParameters::BlenderViewportParameters(BL::SpaceView3D &b_v3d, bool use_developer_ui)
: BlenderViewportParameters()
{
if (!b_v3d) {
@@ -56,6 +57,9 @@ BlenderViewportParameters::BlenderViewportParameters(BL::SpaceView3D &b_v3d)
/* Film. */
display_pass = (PassType)get_enum(cshading, "render_pass", -1, -1);
+ if (use_developer_ui) {
+ show_active_pixels = get_boolean(cshading, "show_active_pixels");
+ }
}
bool BlenderViewportParameters::shader_modified(const BlenderViewportParameters &other) const
@@ -69,7 +73,7 @@ bool BlenderViewportParameters::shader_modified(const BlenderViewportParameters
bool BlenderViewportParameters::film_modified(const BlenderViewportParameters &other) const
{
- return display_pass != other.display_pass;
+ return display_pass != other.display_pass || show_active_pixels != other.show_active_pixels;
}
bool BlenderViewportParameters::modified(const BlenderViewportParameters &other) const
@@ -82,15 +86,4 @@ bool BlenderViewportParameters::use_custom_shader() const
return !(use_scene_world && use_scene_lights);
}
-bool BlenderViewportParameters::get_show_active_pixels(BL::SpaceView3D &b_v3d)
-{
- bool show_active_pixels = PASS_NONE;
- if (b_v3d) {
- 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 show_active_pixels;
-}
-
CCL_NAMESPACE_END
diff --git a/intern/cycles/blender/blender_viewport.h b/intern/cycles/blender/blender_viewport.h
index 605d470a7ae..b5adafc30c9 100644
--- a/intern/cycles/blender/blender_viewport.h
+++ b/intern/cycles/blender/blender_viewport.h
@@ -39,9 +39,10 @@ class BlenderViewportParameters {
/* Film. */
PassType display_pass;
+ bool show_active_pixels;
BlenderViewportParameters();
- explicit BlenderViewportParameters(BL::SpaceView3D &b_v3d);
+ BlenderViewportParameters(BL::SpaceView3D &b_v3d, bool use_developer_ui);
/* Check whether any of shading related settings are different from the given parameters. */
bool shader_modified(const BlenderViewportParameters &other) const;
@@ -55,8 +56,6 @@ class BlenderViewportParameters {
/* 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;
-
- static bool get_show_active_pixels(BL::SpaceView3D &b_v3d);
};
CCL_NAMESPACE_END
More information about the Bf-blender-cvs
mailing list