ID 250911 - OCIO MatrixTransform numerical errors

Follow

Problem summary
OCIO transformations that rely on MatrixTransform result in numerical mismatch when using the colour picker tool to check painted values.

Customer reported version
3.0v4
Customer reported platform
Linux
 

Steps to reproduce

1) Create a project and import a custom OCIO config file that contains a <MatrixTransform> (see attached files or try using an ACES configuration).

2) Ensure that your colour palette is set to a different colorspace such as sRGB.

3) Double check in your project settings. In this example, we will have colour picking and the monitor set to sRGB but everything else is making use of ACEScg.

4) Choose a colour via the colour palette and paint/bake it onto the geometry.

5) Use the colour picker tool to read the value of the paint.

6) There will be a discrepancy in the colour values, i.e:
 

sRGB Red (1, 0, 0) becomes (1, 0.006, 0.018)
sRGB Blue (0, 0, 1) becomes (-0.013, -0.013, 1)
sRGB Green (0, 1, 0) becomes (-0.033, 1, 0.019)


7) Setting the internal working space to ACES2065-1, and the colour palette to ACEScg will still cause an error.

8) Using a colorspace where no MatrixTransform takes place, has no precision errors.

9) Using colorspaces with a gamma file but no MatrixTransform also do not create precision errors. The problem only seems to persist if you are forcing Mari to perform MatrixTransform calculations.

Workaround
Unknown at present. 


Expected behaviour
Colour picked values should read the same numerical values as original colour selected via the colour picker.

Actual behaviour
Colour picked values are incorrect when comparing numerical values with those of the original colour sourced from the colour picker. 

    We're sorry to hear that

    Please tell us why