From 616b071c4fa42f4b412ac12aa41120f41b79ec51 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 27 May 2021 11:16:40 +0200 Subject: Refactor: Naming in Cycles viewport methods Makes it more explicit they operate on shading/light. Gives room to move more viewport related settings into this class and cover with specific or generic modification checks. --- intern/cycles/blender/blender_shader.cpp | 4 ++-- intern/cycles/blender/blender_sync.cpp | 2 +- intern/cycles/blender/blender_viewport.cpp | 5 ++--- intern/cycles/blender/blender_viewport.h | 9 +++++++-- 4 files changed, 12 insertions(+), 8 deletions(-) (limited to 'intern/cycles') diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index bad7fee3032..7f129310736 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -1373,7 +1373,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d, BlenderViewportParameters new_viewport_parameters(b_v3d); if (world_recalc || update_all || b_world.ptr.data != world_map || - viewport_parameters.modified(new_viewport_parameters)) { + viewport_parameters.shader_modified(new_viewport_parameters)) { Shader *shader = scene->default_background; ShaderGraph *graph = new ShaderGraph(); @@ -1502,7 +1502,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d, } background->set_use_shader(view_layer.use_background_shader || - viewport_parameters.custom_viewport_parameters()); + viewport_parameters.use_custom_shader()); background->set_use_ao(background->get_use_ao() && view_layer.use_background_ao); background->tag_update(scene); diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index e6e0fb54457..0d2b2641312 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); - if (viewport_parameters.modified(new_viewport_parameters)) { + if (viewport_parameters.shader_modified(new_viewport_parameters)) { world_recalc = true; has_updates_ = true; } diff --git a/intern/cycles/blender/blender_viewport.cpp b/intern/cycles/blender/blender_viewport.cpp index dbfee33fd59..6cd815d337b 100644 --- a/intern/cycles/blender/blender_viewport.cpp +++ b/intern/cycles/blender/blender_viewport.cpp @@ -56,8 +56,7 @@ BlenderViewportParameters::BlenderViewportParameters(BL::SpaceView3D &b_v3d) } } -/* Check if two instances are different. */ -bool BlenderViewportParameters::modified(const BlenderViewportParameters &other) const +bool BlenderViewportParameters::shader_modified(const BlenderViewportParameters &other) const { return use_scene_world != other.use_scene_world || use_scene_lights != other.use_scene_lights || studiolight_rotate_z != other.studiolight_rotate_z || @@ -66,7 +65,7 @@ bool BlenderViewportParameters::modified(const BlenderViewportParameters &other) studiolight_path != other.studiolight_path; } -bool BlenderViewportParameters::custom_viewport_parameters() const +bool BlenderViewportParameters::use_custom_shader() const { return !(use_scene_world && use_scene_lights); } diff --git a/intern/cycles/blender/blender_viewport.h b/intern/cycles/blender/blender_viewport.h index e73399ea6db..c588a5b8f87 100644 --- a/intern/cycles/blender/blender_viewport.h +++ b/intern/cycles/blender/blender_viewport.h @@ -29,6 +29,7 @@ CCL_NAMESPACE_BEGIN class BlenderViewportParameters { public: + /* Shader. */ bool use_scene_world; bool use_scene_lights; float studiolight_rotate_z; @@ -39,8 +40,12 @@ class BlenderViewportParameters { BlenderViewportParameters(); explicit BlenderViewportParameters(BL::SpaceView3D &b_v3d); - bool modified(const BlenderViewportParameters &other) const; - bool custom_viewport_parameters() const; + /* Check whether any of shading related settings are different from the given parameters. */ + bool shader_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; /* 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. */ -- cgit v1.2.3