AcademySoftwareFoundation / OpenColorIO

A color management framework for visual effects and animation.
https://opencolorio.org
BSD 3-Clause "New" or "Revised" License
1.8k stars 458 forks source link

Alpha channel should be 1 by default, rather than 0 #2033

Open pennelee opened 2 months ago

pennelee commented 2 months ago

Related to issue #1781 . https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/1781

For CPU processor, when source has no alpha (RGB) but dest does (RGBA) make it default to 1. GPU Processors (new and legacy) did not seem to have this issue, alpha was already set to 1. Let me know if this is not the case.

Tested changes with ocioconvert and changed the output to force RGBA, since the default is to use inplace conversion (did not check in those changes). Tested with all the ocioconvert test cases (basic, --lut, --view, --invertview --namedtransform, --invnamed transform), and various EXR file sizes.

Before the changes alpha would be 0, so image was not viewable. After the changes then images can be viewed and from inspection the alpha channel is now 1.0.

pennelee commented 2 months ago

Hello @doug-walker , It looks like there were some CI failures and timeouts, but I'm not clear if they are related to this change I made. Do you have any suggestion on how to resolve the CI issues? Thank you!

KelSolaar commented 2 months ago

@pennelee : The tests are failing here: https://github.com/AcademySoftwareFoundation/OpenColorIO/actions/runs/10661264522/job/29546503311?pr=2033#step:9:8497, the workflow file does not set continue-on-error so it will kill all the jobs.

doug-walker commented 2 months ago

@pennelee , yes I would definitely expect that you will need to update the unit tests based on your changes. You may even want to add a new unit test, if the existing ones don't cover this behavior sufficiently well.

Were you able to run the tests locally? The Contributor Guide has info about running the tests (ctest -V).

pennelee commented 2 months ago

Thanks @KelSolaar , @doug-walker , I will run the test manually and see what needs to be changed and/or added.