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 <brechtvanlommel@gmail.com>2019-05-05 18:20:19 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-05-20 17:35:34 +0300
commitd2e139e44e0a3b70ae3b517c7b8f2449d3d1620c (patch)
tree8c5adc607e02db5975d96d7510e629c71e3a3b56 /source/blender
parentb9ce1fee42291b174f1bdee2ae1fded8e9579937 (diff)
Color Management: update configuration, remove legacy transforms
* Replace Log view transform with Filmic Log. * Remove Rec.709, DCI-P3 displays that were incomplete and outdated. * Remove outdated RRT and Film transforms, replaced by Filmic. * Remove camera responsive curves that don't work with HDR colors. * Rename Default view transform to Standard. We're breaking compatibility now for 2.80, so that we can add future improvements on a clean config. Part of the code was contributed by George Vogiatzis in D4782. Differential Revision: https://developer.blender.org/D4900
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h2
-rw-r--r--source/blender/blenloader/intern/versioning_280.c26
-rw-r--r--source/blender/blenloader/intern/versioning_defaults.c4
-rw-r--r--source/blender/imbuf/intern/colormanagement.c26
-rw-r--r--source/blender/makesrna/intern/rna_color.c2
5 files changed, 44 insertions, 16 deletions
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 077bbce2264..3fae40d6c7b 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -27,7 +27,7 @@
* \note Use #STRINGIFY() rather than defining with quotes.
*/
#define BLENDER_VERSION 280
-#define BLENDER_SUBVERSION 70
+#define BLENDER_SUBVERSION 71
/** Several breakages with 280, e.g. collections vs layers. */
#define BLENDER_MINVERSION 280
#define BLENDER_MINSUBVERSION 0
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 13ccc374073..c4e3390d65f 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -3461,6 +3461,32 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
}
+ if (!MAIN_VERSION_ATLEAST(bmain, 280, 71)) {
+ /* This assumes the Blender builtin config. Depending on the OCIO
+ * environment variable for versioning is weak, and these deprecated view
+ * transforms and look names don't seem to exist in other commonly used
+ * OCIO configs so .blend files created for those would be unaffected. */
+ for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
+ ColorManagedViewSettings *view_settings;
+ view_settings = &scene->view_settings;
+
+ if (STREQ(view_settings->view_transform, "Default")) {
+ STRNCPY(view_settings->view_transform, "Standard");
+ }
+ else if (STREQ(view_settings->view_transform, "RRT") ||
+ STREQ(view_settings->view_transform, "Film")) {
+ STRNCPY(view_settings->view_transform, "Filmic");
+ }
+ else if (STREQ(view_settings->view_transform, "Log")) {
+ STRNCPY(view_settings->view_transform, "Filmic Log");
+ }
+
+ if (STREQ(view_settings->look, "Filmic - Base Contrast")) {
+ STRNCPY(view_settings->look, "None");
+ }
+ }
+ }
+
{
/* Versioning code until next subversion bump goes here. */
}
diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c
index c55a860f3b4..83a21a5480d 100644
--- a/source/blender/blenloader/intern/versioning_defaults.c
+++ b/source/blender/blenloader/intern/versioning_defaults.c
@@ -371,8 +371,8 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template)
scene->r.displaymode = R_OUTPUT_WINDOW;
if (app_template && STREQ(app_template, "Video_Editing")) {
- /* Filmic is too slow, use default until it is optimized. */
- STRNCPY(scene->view_settings.view_transform, "Default");
+ /* Filmic is too slow, use standard until it is optimized. */
+ STRNCPY(scene->view_settings.view_transform, "Standard");
STRNCPY(scene->view_settings.look, "None");
}
else {
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index 8a10af7e184..583a3be8168 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -747,6 +747,16 @@ void colormanagement_exit(void)
/*********************** Internal functions *************************/
+static bool colormanage_compatible_look(ColorManagedLook *look, const char *view_name)
+{
+ if (look->is_noop) {
+ return true;
+ }
+
+ /* Skip looks only relevant to specific view transforms. */
+ return (look->view[0] == 0 || (view_name && STREQ(look->view, view_name)));
+}
+
void colormanage_cache_free(ImBuf *ibuf)
{
if (ibuf->display_buffer_flags) {
@@ -840,7 +850,7 @@ static OCIO_ConstProcessorRcPtr *create_display_buffer_processor(const char *loo
OCIO_displayTransformSetView(dt, view_transform);
OCIO_displayTransformSetDisplay(dt, display);
- if (look_descr->is_noop == false) {
+ if (look_descr->is_noop == false && colormanage_compatible_look(look_descr, view_transform)) {
OCIO_displayTransformSetLooksOverrideEnabled(dt, true);
OCIO_displayTransformSetLooksOverride(dt, look);
}
@@ -989,9 +999,9 @@ static OCIO_ConstProcessorRcPtr *display_to_scene_linear_processor(ColorManagedD
void IMB_colormanagement_init_default_view_settings(
ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings)
{
- /* First, try use "Default" view transform of the requested device. */
+ /* First, try use "Standard" view transform of the requested device. */
ColorManagedView *default_view = colormanage_view_get_named_for_display(
- display_settings->display_device, "Default");
+ display_settings->display_device, "Standard");
/* If that fails, we fall back to the default view transform of the display
* as per OCIO configuration. */
if (default_view == NULL) {
@@ -3215,17 +3225,9 @@ void IMB_colormanagement_look_items_add(struct EnumPropertyItem **items,
const char *view_name)
{
ColorManagedLook *look;
- const char *view_filter = NULL;
-
- /* Test if this view transform is limited to specific looks. */
- for (look = global_looks.first; look; look = look->next) {
- if (STREQ(look->view, view_name)) {
- view_filter = view_name;
- }
- }
for (look = global_looks.first; look; look = look->next) {
- if (!look->is_noop && view_filter && !STREQ(look->view, view_filter)) {
+ if (!colormanage_compatible_look(look, view_name)) {
continue;
}
diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c
index 8ba1f5440be..da2bf710428 100644
--- a/source/blender/makesrna/intern/rna_color.c
+++ b/source/blender/makesrna/intern/rna_color.c
@@ -1136,7 +1136,7 @@ static void rna_def_colormanage(BlenderRNA *brna)
PropertyRNA *prop;
static const EnumPropertyItem display_device_items[] = {
- {0, "DEFAULT", 0, "Default", ""},
+ {0, "NONE", 0, "None", ""},
{0, NULL, 0, NULL, NULL},
};