Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2022-03-11 20:21:05 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-03-22 16:15:20 +0300
commit3b5224b57c3cfc39a7998ecfc482e13bd6940e68 (patch)
tree1111ceb0a6501b7de81d4e0e59b6d424c9773665 /source/blender/compositor/intern
parent2ebcb7fab3e237b7d00de3088c34780cd24f397b (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')
-rw-r--r--source/blender/compositor/intern/COM_CompositorContext.cc2
-rw-r--r--source/blender/compositor/intern/COM_CompositorContext.h36
-rw-r--r--source/blender/compositor/intern/COM_ExecutionSystem.cc4
-rw-r--r--source/blender/compositor/intern/COM_ExecutionSystem.h2
-rw-r--r--source/blender/compositor/intern/COM_NodeOperationBuilder.cc5
-rw-r--r--source/blender/compositor/intern/COM_compositor.cc14
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);