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:
-rw-r--r--source/blender/blenkernel/BKE_colortools.h30
-rw-r--r--source/blender/blenkernel/intern/colortools.c26
-rw-r--r--source/blender/blenkernel/intern/image.c3
-rw-r--r--source/blender/blenkernel/intern/scene.c3
-rw-r--r--source/blender/imbuf/IMB_colormanagement.h2
-rw-r--r--source/blender/imbuf/intern/colormanagement.c6
6 files changed, 47 insertions, 23 deletions
diff --git a/source/blender/blenkernel/BKE_colortools.h b/source/blender/blenkernel/BKE_colortools.h
index 5332b3acd72..7c378bd3e06 100644
--- a/source/blender/blenkernel/BKE_colortools.h
+++ b/source/blender/blenkernel/BKE_colortools.h
@@ -95,18 +95,26 @@ void scopes_update(struct Scopes *scopes, struct ImBuf *ibuf, con
void scopes_free(struct Scopes *scopes);
void scopes_new(struct Scopes *scopes);
-void BKE_color_managed_display_settings_init(struct ColorManagedDisplaySettings *settings);
-void BKE_color_managed_display_settings_copy(struct ColorManagedDisplaySettings *new_settings,
- const struct ColorManagedDisplaySettings *settings);
+void BKE_color_managed_display_settings_init(
+ struct ColorManagedDisplaySettings *settings);
+void BKE_color_managed_display_settings_copy(
+ struct ColorManagedDisplaySettings *new_settings,
+ const struct ColorManagedDisplaySettings *settings);
-void BKE_color_managed_view_settings_init(struct ColorManagedViewSettings *settings);
-void BKE_color_managed_view_settings_copy(struct ColorManagedViewSettings *new_settings,
- const struct ColorManagedViewSettings *settings);
+void BKE_color_managed_view_settings_init(
+ struct ColorManagedViewSettings *settings,
+ const struct ColorManagedDisplaySettings *display_settings);
+void BKE_color_managed_view_settings_copy(
+ struct ColorManagedViewSettings *new_settings,
+ const struct ColorManagedViewSettings *settings);
void BKE_color_managed_view_settings_free(struct ColorManagedViewSettings *settings);
-void BKE_color_managed_colorspace_settings_init(struct ColorManagedColorspaceSettings *colorspace_settings);
-void BKE_color_managed_colorspace_settings_copy(struct ColorManagedColorspaceSettings *colorspace_settings,
- const struct ColorManagedColorspaceSettings *settings);
-bool BKE_color_managed_colorspace_settings_equals(const struct ColorManagedColorspaceSettings *settings1,
- const struct ColorManagedColorspaceSettings *settings2);
+void BKE_color_managed_colorspace_settings_init(
+ struct ColorManagedColorspaceSettings *colorspace_settings);
+void BKE_color_managed_colorspace_settings_copy(
+ struct ColorManagedColorspaceSettings *colorspace_settings,
+ const struct ColorManagedColorspaceSettings *settings);
+bool BKE_color_managed_colorspace_settings_equals(
+ const struct ColorManagedColorspaceSettings *settings1,
+ const struct ColorManagedColorspaceSettings *settings2);
#endif
diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c
index 108e188fe92..bd006c8b832 100644
--- a/source/blender/blenkernel/intern/colortools.c
+++ b/source/blender/blenkernel/intern/colortools.c
@@ -1569,17 +1569,23 @@ void BKE_color_managed_display_settings_copy(ColorManagedDisplaySettings *new_se
BLI_strncpy(new_settings->display_device, settings->display_device, sizeof(new_settings->display_device));
}
-void BKE_color_managed_view_settings_init(ColorManagedViewSettings *settings)
+void BKE_color_managed_view_settings_init(
+ ColorManagedViewSettings *view_settings,
+ const ColorManagedDisplaySettings *display_settings)
{
- /* OCIO_TODO: use default view transform here when OCIO is completely integrated
- * and proper versioning stuff is added.
- * for now use NONE to be compatible with all current files
- */
- BLI_strncpy(settings->view_transform, "Default", sizeof(settings->view_transform));
- BLI_strncpy(settings->look, "None", sizeof(settings->look));
-
- settings->gamma = 1.0f;
- settings->exposure = 0.0f;
+ struct ColorManagedDisplay *display =
+ IMB_colormanagement_display_get_named(
+ display_settings->display_device);
+ BLI_strncpy(
+ view_settings->view_transform,
+ IMB_colormanagement_display_get_default_view_transform_name(display),
+ sizeof(view_settings->view_transform));
+ /* TODO(sergey): Find a way to make look query more reliable with non
+ * default configuration. */
+ BLI_strncpy(view_settings->look, "None", sizeof(view_settings->look));
+
+ view_settings->gamma = 1.0f;
+ view_settings->exposure = 0.0f;
}
void BKE_color_managed_view_settings_copy(ColorManagedViewSettings *new_settings,
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index f1a921650f0..fc8e992915e 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -1402,7 +1402,8 @@ void BKE_imformat_defaults(ImageFormatData *im_format)
im_format->compress = 15;
BKE_color_managed_display_settings_init(&im_format->display_settings);
- BKE_color_managed_view_settings_init(&im_format->view_settings);
+ BKE_color_managed_view_settings_init(&im_format->view_settings,
+ &im_format->display_settings);
}
void BKE_imbuf_to_image_format(struct ImageFormatData *im_format, const ImBuf *imbuf)
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 7a6f1ec85b4..e8aebb2dbaa 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -763,7 +763,8 @@ void BKE_scene_init(Scene *sce)
colorspace_name = IMB_colormanagement_role_colorspace_name_get(COLOR_ROLE_DEFAULT_SEQUENCER);
BKE_color_managed_display_settings_init(&sce->display_settings);
- BKE_color_managed_view_settings_init(&sce->view_settings);
+ BKE_color_managed_view_settings_init(&sce->view_settings,
+ &sce->display_settings);
BLI_strncpy(sce->sequencer_colorspace_settings.name, colorspace_name,
sizeof(sce->sequencer_colorspace_settings.name));
diff --git a/source/blender/imbuf/IMB_colormanagement.h b/source/blender/imbuf/IMB_colormanagement.h
index a08a8c976e0..1a224639366 100644
--- a/source/blender/imbuf/IMB_colormanagement.h
+++ b/source/blender/imbuf/IMB_colormanagement.h
@@ -143,6 +143,8 @@ const char *IMB_colormanagement_display_get_indexed_name(int index);
const char *IMB_colormanagement_display_get_default_name(void);
struct ColorManagedDisplay *IMB_colormanagement_display_get_named(const char *name);
const char *IMB_colormanagement_display_get_none_name(void);
+const char *IMB_colormanagement_display_get_default_view_transform_name(
+ struct ColorManagedDisplay *display);
/* ** View functions ** */
int IMB_colormanagement_view_get_named_index(const char *name);
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index 6f8932f0e9c..afba1c6a41a 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -2363,6 +2363,12 @@ const char *IMB_colormanagement_display_get_none_name(void)
return colormanage_display_get_default_name();
}
+const char *IMB_colormanagement_display_get_default_view_transform_name(
+ struct ColorManagedDisplay *display)
+{
+ return colormanage_view_get_default_name(display);
+}
+
/*********************** View functions *************************/
const char *colormanage_view_get_default_name(const ColorManagedDisplay *display)