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-02-17 21:52:46 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-02-17 21:52:46 +0300
commitad2577e0cdc7be82005e777a388b415a788f0c44 (patch)
treee4cdc911abce54bbd1fa0d6803bd178b29dc2b9c /intern/opencolorio
parent48432c1c92824a0da4bb73b1ca7b45290a4b3aaf (diff)
parentda6b534274d88de590ab978c596a5d8b10a70a69 (diff)
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'intern/opencolorio')
-rw-r--r--intern/opencolorio/ocio_impl.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/intern/opencolorio/ocio_impl.cc b/intern/opencolorio/ocio_impl.cc
index 11e2a5f7371..78b62d3c7cc 100644
--- a/intern/opencolorio/ocio_impl.cc
+++ b/intern/opencolorio/ocio_impl.cc
@@ -320,16 +320,18 @@ void OCIOImpl::configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config_, float xyz_to_rg
}
if (config->hasRole("aces_interchange")) {
- /* Standard OpenColorIO role, defined as ACES2065-1. */
- const float xyz_E_to_aces[3][3] = {{1.0498110175f, -0.4959030231f, 0.0f},
- {0.0f, 1.3733130458f, 0.0f},
- {-0.0000974845f, 0.0982400361f, 0.9912520182f}};
- const float xyz_D65_to_E[3][3] = {
- {1.0521111f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 0.9184170f}};
-
+ /* Standard OpenColorIO role, defined as ACES AP0 (ACES2065-1). */
float aces_to_rgb[3][3];
if (to_scene_linear_matrix(config, "aces_interchange", aces_to_rgb)) {
- mul_m3_series(xyz_to_rgb, aces_to_rgb, xyz_E_to_aces, xyz_D65_to_E);
+ /* This is the OpenColorIO builtin transform:
+ * UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD. */
+ const float ACES_AP0_to_xyz_D65[3][3] = {{0.938280, 0.337369, 0.001174},
+ {-0.004451, 0.729522, -0.003711},
+ {0.016628, -0.066890, 1.091595}};
+ float xyz_to_aces[3][3];
+ invert_m3_m3(xyz_to_aces, ACES_AP0_to_xyz_D65);
+
+ mul_m3_m3m3(xyz_to_rgb, aces_to_rgb, xyz_to_aces);
}
}
else if (config->hasRole("XYZ")) {