diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-03-11 20:21:05 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-03-22 16:15:20 +0300 |
commit | 3b5224b57c3cfc39a7998ecfc482e13bd6940e68 (patch) | |
tree | 1111ceb0a6501b7de81d4e0e59b6d424c9773665 /source/blender/compositor/intern | |
parent | 2ebcb7fab3e237b7d00de3088c34780cd24f397b (diff) |
Cleanup: refactor passing of color management settings for image save
Make a copy of ImageFormatData that contains the effective color management
settings, and pass that along to the various functions. This will make it
possible to add more complex logic later.
For compositing nodes, passing along view and display settings through
many functions made it harder to add additional settings, so just get those
from the scene now.
Differential Revision: https://developer.blender.org/D14401
Diffstat (limited to 'source/blender/compositor/intern')
6 files changed, 6 insertions, 57 deletions
diff --git a/source/blender/compositor/intern/COM_CompositorContext.cc b/source/blender/compositor/intern/COM_CompositorContext.cc index f17a24c6b9d..2c55af1779a 100644 --- a/source/blender/compositor/intern/COM_CompositorContext.cc +++ b/source/blender/compositor/intern/COM_CompositorContext.cc @@ -12,8 +12,6 @@ CompositorContext::CompositorContext() quality_ = eCompositorQuality::High; hasActiveOpenCLDevices_ = false; fast_calculation_ = false; - view_settings_ = nullptr; - display_settings_ = nullptr; bnodetree_ = nullptr; } diff --git a/source/blender/compositor/intern/COM_CompositorContext.h b/source/blender/compositor/intern/COM_CompositorContext.h index 430bab48352..480f70f4193 100644 --- a/source/blender/compositor/intern/COM_CompositorContext.h +++ b/source/blender/compositor/intern/COM_CompositorContext.h @@ -64,10 +64,6 @@ class CompositorContext { */ bool fast_calculation_; - /* \brief color management settings */ - const ColorManagedViewSettings *view_settings_; - const ColorManagedDisplaySettings *display_settings_; - /** * \brief active rendering view name */ @@ -153,38 +149,6 @@ class CompositorContext { } /** - * \brief set view settings of color management - */ - void set_view_settings(const ColorManagedViewSettings *view_settings) - { - view_settings_ = view_settings; - } - - /** - * \brief get view settings of color management - */ - const ColorManagedViewSettings *get_view_settings() const - { - return view_settings_; - } - - /** - * \brief set display settings of color management - */ - void set_display_settings(const ColorManagedDisplaySettings *display_settings) - { - display_settings_ = display_settings; - } - - /** - * \brief get display settings of color management - */ - const ColorManagedDisplaySettings *get_display_settings() const - { - return display_settings_; - } - - /** * \brief set the quality */ void set_quality(eCompositorQuality quality) diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.cc b/source/blender/compositor/intern/COM_ExecutionSystem.cc index 036e2bc8a91..c850585148a 100644 --- a/source/blender/compositor/intern/COM_ExecutionSystem.cc +++ b/source/blender/compositor/intern/COM_ExecutionSystem.cc @@ -23,8 +23,6 @@ ExecutionSystem::ExecutionSystem(RenderData *rd, bNodeTree *editingtree, bool rendering, bool fastcalculation, - const ColorManagedViewSettings *view_settings, - const ColorManagedDisplaySettings *display_settings, const char *view_name) { num_work_threads_ = WorkScheduler::get_num_cpu_threads(); @@ -45,8 +43,6 @@ ExecutionSystem::ExecutionSystem(RenderData *rd, (editingtree->flag & NTREE_COM_OPENCL)); context_.set_render_data(rd); - context_.set_view_settings(view_settings); - context_.set_display_settings(display_settings); BLI_mutex_init(&work_mutex_); BLI_condition_init(&work_finished_cond_); diff --git a/source/blender/compositor/intern/COM_ExecutionSystem.h b/source/blender/compositor/intern/COM_ExecutionSystem.h index 9dd20d18144..2cd9e2d9001 100644 --- a/source/blender/compositor/intern/COM_ExecutionSystem.h +++ b/source/blender/compositor/intern/COM_ExecutionSystem.h @@ -160,8 +160,6 @@ class ExecutionSystem { bNodeTree *editingtree, bool rendering, bool fastcalculation, - const ColorManagedViewSettings *view_settings, - const ColorManagedDisplaySettings *display_settings, const char *view_name); /** diff --git a/source/blender/compositor/intern/COM_NodeOperationBuilder.cc b/source/blender/compositor/intern/COM_NodeOperationBuilder.cc index 2f27699ce9c..788686f3036 100644 --- a/source/blender/compositor/intern/COM_NodeOperationBuilder.cc +++ b/source/blender/compositor/intern/COM_NodeOperationBuilder.cc @@ -221,8 +221,9 @@ PreviewOperation *NodeOperationBuilder::make_preview_operation() const bNodeInstanceHash *previews = context_->get_preview_hash(); if (previews) { - PreviewOperation *operation = new PreviewOperation(context_->get_view_settings(), - context_->get_display_settings(), + Scene *scene = context_->get_scene(); + PreviewOperation *operation = new PreviewOperation(&scene->view_settings, + &scene->display_settings, current_node_->get_bnode()->preview_xsize, current_node_->get_bnode()->preview_ysize); operation->set_bnodetree(context_->get_bnodetree()); diff --git a/source/blender/compositor/intern/COM_compositor.cc b/source/blender/compositor/intern/COM_compositor.cc index 791cc327bfb..519ad93bcaf 100644 --- a/source/blender/compositor/intern/COM_compositor.cc +++ b/source/blender/compositor/intern/COM_compositor.cc @@ -49,8 +49,6 @@ void COM_execute(RenderData *render_data, Scene *scene, bNodeTree *node_tree, int rendering, - const ColorManagedViewSettings *view_settings, - const ColorManagedDisplaySettings *display_settings, const char *view_name) { /* Initialize mutex, TODO: this mutex init is actually not thread safe and @@ -80,14 +78,8 @@ void COM_execute(RenderData *render_data, /* Execute. */ const bool twopass = (node_tree->flag & NTREE_TWO_PASS) && !rendering; if (twopass) { - blender::compositor::ExecutionSystem fast_pass(render_data, - scene, - node_tree, - rendering, - true, - view_settings, - display_settings, - view_name); + blender::compositor::ExecutionSystem fast_pass( + render_data, scene, node_tree, rendering, true, view_name); fast_pass.execute(); if (node_tree->test_break(node_tree->tbh)) { @@ -97,7 +89,7 @@ void COM_execute(RenderData *render_data, } blender::compositor::ExecutionSystem system( - render_data, scene, node_tree, rendering, false, view_settings, display_settings, view_name); + render_data, scene, node_tree, rendering, false, view_name); system.execute(); BLI_mutex_unlock(&g_compositor.mutex); |