From bf352df27a6f85d73bc0d6417f50fd62958cfb6e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 20 May 2022 16:41:51 +0200 Subject: Fix wrong USD image color space export with non-default OpenColorIO config The names of color spaces in OpenColorIO configs can be arbitrary, so don't use hardcoded names from our default config. --- source/blender/imbuf/IMB_colormanagement.h | 1 + source/blender/imbuf/intern/colormanagement.c | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'source/blender/imbuf') diff --git a/source/blender/imbuf/IMB_colormanagement.h b/source/blender/imbuf/IMB_colormanagement.h index 97030d44047..1f0ed4cafbe 100644 --- a/source/blender/imbuf/IMB_colormanagement.h +++ b/source/blender/imbuf/IMB_colormanagement.h @@ -54,6 +54,7 @@ bool IMB_colormanagement_space_is_scene_linear(struct ColorSpace *colorspace); bool IMB_colormanagement_space_is_srgb(struct ColorSpace *colorspace); bool IMB_colormanagement_space_name_is_data(const char *name); bool IMB_colormanagement_space_name_is_scene_linear(const char *name); +bool IMB_colormanagement_space_name_is_srgb(const char *name); /** * Convert a float RGB triplet to the correct luminance weighted average. diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c index 53aa74edc61..95e2d36891a 100644 --- a/source/blender/imbuf/intern/colormanagement.c +++ b/source/blender/imbuf/intern/colormanagement.c @@ -1412,6 +1412,12 @@ bool IMB_colormanagement_space_name_is_scene_linear(const char *name) return (colorspace && IMB_colormanagement_space_is_scene_linear(colorspace)); } +bool IMB_colormanagement_space_name_is_srgb(const char *name) +{ + ColorSpace *colorspace = colormanage_colorspace_get_named(name); + return (colorspace && IMB_colormanagement_space_is_srgb(colorspace)); +} + const float *IMB_colormanagement_get_xyz_to_rgb() { return &imbuf_xyz_to_rgb[0][0]; -- cgit v1.2.3