Closed KelSolaar closed 6 years ago
Thanks for the PR!
Just to be clear to others, the actual diff in this PR is here:
index 0cf0df1..f692ce4 100644
--- a/aces_1.0.3/python/aces_ocio/colorspaces/canon.py
+++ b/aces_1.0.3/python/aces_ocio/colorspaces/canon.py
@@ -225,7 +225,7 @@ def create_c_log(gamut,
'type': 'matrix',
'matrix': [0.724488568, 0.115140904, 0.160370529, 0,
0.010659276, 0.839605344, 0.149735380, 0,
- 0.014560161, 0.028562057, 1.014001897, 0,
+ 0.014560161, -0.028562057, 1.014001897, 0,
0, 0, 0, 1],
'direction': 'forward'})
The large diff is due to small changes after re-running the config generation script. For example:
index 400873b..644189a 100644
--- a/aces_1.0.3/baked/lustre/Rec.709 for ACEScc Lustre.3dl
+++ b/aces_1.0.3/baked/lustre/Rec.709 for ACEScc Lustre.3dl
@@ -3192,7 +3192,7 @@ Mesh 6 12
318 4095 2079
318 4095 2081
319 4095 2083
-319 4095 2086
+320 4095 2086
320 4095 2089
322 4095 2093
323 4095 2097
Unfortunately, due to a lack of Unit testing at the moment, we are unable to currently validate the level of impact on imagery. Though I think we can mutually agree that these changes are within the same level of tolerance compared to an end user running the generation scripts themselves.
This is quite annoying and will happen every time somebody will re-build the config with different hardware/os/architecture than the person having done the previous build.
Interesting article of floating-point determinism: https://randomascii.wordpress.com/2013/07/16/floating-point-determinism/
But this honestly highlights that only the source code should be tracked by the repository, as the LUTs are simply a byproduct of the source execution (though they do need to be readily accessible). So instead, the configs source should be maintained and tested through a CI system that then deploys the resultant build artifacts as a separate release (https://docs.travis-ci.com/user/deployment/releases) This would also ensure that the build system is relatively consistent and these useless LUT diffs should be mitigated.
Related to #13
Correction: the above only applies to the ACES LUTs since the SPI LUTs aren't currently derived from equations.
References imageworks/OpenColorIO-Configs#11.