Closed jonahfriedman closed 6 years ago
Closing this, but for posterity, there were three schemes we considered:
Scheme 1:
Bool setting,
preview_in_exr
: True: Always create the preview channels False: Only create the preview channel when not writing to an EXR file (e.g., in an IPR render).I worry perhaps this is too complicated, and the behavior will seem weird. A regular maya render view render, with one of those AOVs enabled, looks like this: Preview channel AOV looks correct until it reaches the last IPR refinement, and then it's black for the actual pixels it'll write to disk. The Arnold render view does not have this issue.
Scheme 2:
We could just change that setting to:
preview_channels
True: Create preview channels False: do not create preview channelsThe downside here is- now every tutorial is wrong (example) and it'll always appear to users like it's not working.
Scheme 3:
Like 2, set the default True.
Now we have a bad default.
We decided on scheme 1 as the least of all evils.
This disables the preview channels if a cryptomatte is being written to an EXR, to make those channels black. It keeps them visible in interactive renders however. I have done this in 4c26417, but adding a ticket here for potential discussion.
The reason one might not do this is because very tutorial out there shows people checking the render view in various apps to see the preview channels, to make sure things are working.
I'm currently doing this with the Cryptomatte AOV setup procedurals (the setup is also that which causes disabling the preview AOV). In Arnold 5.1, you could also use AiGetSessionMode() to accomplish the same thing, but that would mean building with 5.1 and breaking binary compatibility with 5.0.1.