-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cryptomatte from Blender 3.x/4.x is not Displayed in Viewer #5866
Comments
To me it looks like there are a few different things going on here :
If you copy-paste the script below into Gaffer, you should see that things can be made to work if those problems are corrected.
I think it's probably worth us tweaking the ImageReader so that it can conform the non-standard lowercase channels automatically - we already have loads of heuristics for dealing with dodgy EXRs from other sources. And we should fix the Cryptomatte problem too. But ideally you'd be able to get the output from Blender formatted in a more standard way as well... |
Actually, I see now that the Cryptomatte specification says lowercase, but that conflicts with the EXR specification, which says uppercase... 🤷 |
- Remove stray hashing of the current input channel. - Check cryptomatte channels exists before hashing them. - Include cryptomatte alpha channel in hash. This fixes one of the problems noted in GafferHQ#5866.
The EXR standard states that it is only the upper case "R", "G", "B" and "A" that have a predefined interpretation, and that is how we treat channels in GafferImage. But in the last week I've received files from two different sources both using lower-case, so this seems worth fixing up on load. In the latter case, the file was from Blender and only the Cryptomatte channels were lowercased. To my surprise, that is actually enshrined in the Cryptomatte specification. I can't find a source for _why_, but based on Psyop/Cryptomatte#35 it seems that _maybe_ it's to disable lossy DWA compression when the DCC won't let you control that per-file or per-part? That seems to call into question the entire idea of using RGBA to represent ID and coverage in the first place, which I believe was originally to play well in apps that only recognised RGBA. In conjunction with GafferHQ#5867, this fixes GafferHQ#5866.
Thank you @johnhaddon , Anyway I tried to run the python script but it complained about Also I tried using shuffle and copied your python expression, but it's not working as well. I tried using the plugs and it works if manually setup. |
If you paste it directly into the Graph Editor it should work. |
Thank you @johnhaddon |
Version: Gaffer 1.4.X.X-(linux, windows)
Third-party tools: None
Third-party modules: None
Description
I have EXR with cryptomatte generated from blender 3.6 LTS and also 4.1.1. Whenever I load it and put cryptomatte node, the
Viewer
will stay black. However I have another EXR with crypto from blender 2.93 LTS, it will load just fine.I attached both exr and blend files.
Steps to reproduce
Debug log
Click to Expand
The text was updated successfully, but these errors were encountered: