Page MenuHome

Cryptomatte: Read metadata from multilayer OpenEXR.
ClosedPublic

Authored by Jeroen Bakker (jbakker) on Feb 10 2021, 11:55 AM.

Details

Summary

Currently the compositor reads cryptomatte meta-data from the render
result. When loading a multilayer open exr file the meta-data was ignored.
This patch will also load the cryptomatte meta-data from multilayer open
exr files.

This enabled workflows where the rendering and compositing are done in
separate scenes or for future changes where the cryptomatte node will
use the meta-data for name matching and color picking.

Example where an openexr multilayer file is read and a cryptomatte is stored in a new file.
The meta-data is re-encoded in the new file.


Diff Detail

Repository
rB Blender
Branch
cryptomatte-openexr-metadata (branched from master)
Build Status
Buildable 12787
Build 12787: arc lint + arc unit

Event Timeline

Jeroen Bakker (jbakker) requested review of this revision.Feb 10 2021, 11:55 AM
Jeroen Bakker (jbakker) created this revision.
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)

Code style - removed empty line

source/blender/compositor/nodes/COM_ImageNode.cpp
47

Remove empty line

source/blender/compositor/operations/COM_MultilayerImageOperation.h
48

add override attribute.

The code seems OK, but I am not sure how to test it and verify. Is it something tested by artists already?

source/blender/compositor/intern/COM_MetaData.h
65

Any specific reason why implementation is done in the header?

Jeroen Bakker (jbakker) marked an inline comment as done.
  • Cleanup: Remove implementation from header file.
  • CodeStyle: Add override.

Test can be done by loading an OpenEXR file with Cryptomatte meta data and use a file output node in the compositor to output the cryptomatte layer.
When loading the new file back the metadata of that file should match.

@Jeroen Bakker (jbakker), The testing i kind of prefer leave up to you to decide that it had enough ;) Is just something I can not give good test. As mentioned above, code side seemed fine. Is there anything you plan to work on, or expect to happen form reviewers?
I'll mark as accepted since I am not really expecting any changes from the code side.

This revision is now accepted and ready to land.Mar 1 2021, 12:09 PM

Updated with master