Cryptomatte
Original author(s) | Jonah Friedman Andy Jones |
---|---|
Developer(s) | Psyop |
Initial release | 10 July 2016 |
Stable release | 1.4
/ 3 May 2021 |
Preview release | 1.5.0.beta
/ 10 March 2021 |
Repository | github |
Written in | Python, Lua |
License | BSD 3-clause license |
Website | github |
Cryptomatte is an open-source software created by Jonah Friedman and Andy Jones at Psyop, but is also used synonymously for the specific style of image created by the software or other software working alike.
Owing to its ubiquity, integration into popular 3D graphic software and rather easy usability, Cryptomatte became a quasi standard in the industry.
Render processing
[edit]The program itself creates an ID matte of a scene that can be used to create for example image masks for single or multiple objects in the scene. The ID matte has a very distinctive look and itself is sometimes referred to as cryptomatte. These cryptomatte images are in general very colourful assigning each object or material a different random colour. The program creates mattes that support motion blur, transparency and depth of field using data that is already available at render time.[1]
Supported render engines
[edit]Cryptomatte images can be created by several 3D graphic programs like Blender,[2] Autodesk Maya,[3] Autodesk 3ds Max[4] or Houdini[5] and are usually exported using the OpenEXR file format.
Whether a program is able to generate a cryptomatte or not is determined by the used render engine. If a program supports more than one render engine it is possible that it can generate cryptomatte images with one engine while being unable to do so with the other one. Blender, for example, had no option to create a cryptomatte image before version 2.80.[6] With version 2.80 only the path-tracing render engine „Cycles” supported creating a cryptomatte while the newly added real-time render engine „Eevee” did not. The support to create cryptomatte images was added to Eevee with version 2.92 that was published on February 25, 2021[7] one and a half years after Eevee was first published.[8]
The following render engines are known to support creating cryptomatte images:
Render engine name | Shipped with | Added with version |
---|---|---|
Arnold[9][10] | Autodesk 3ds Max Autodesk Maya |
Arnold 5.2 |
Cycles[6] | Blender | Blender 2.80 |
Eevee[8] | Blender | Blender 2.92 |
Mantra[11] | Houdini | Houdini 16.5 |
Karma[12] | Houdini | Houdini 18.5 |
Modo renderer / mPath[13] | Modo | Modo 14.2 |
Redshift[14] | Cinema 4D (CPU-only) | Redshift 2.6.11 |
3Delight[15] | Katana | 3Delight 1.7.32[15] |
Unreal Engine (Movie Render Queue)[16] | Unreal Engine | 4.26 |
Radeon ProRender[17] | Radeon ProRender 3.1 | |
Octane Render[18] | ||
RenderMan[19] | ||
V-Ray[20] |
Supported compositing software
[edit]This section needs expansion. You can help by adding to it. (March 2021) |
Compositing software name | Added with version |
---|---|
Autodesk Flame | 2020[21] |
After Effects | 17.0[22] |
Nuke | 13.0[23] |
Blender (Compositing Nodes) | 2.8 |
Houdini (COP) | 16.5[11] |
V-Ray (V-Ray Frame Buffer) | 5 Update 1[24] |
Adobe Photoshop | Exr-IO 2.0[25] |
Gaffer | 0.61.2.0[26] |
Workflow example
[edit]In a 3D scene a cryptomatte image can be created that assigns a unique ID to each object. The objects usually also have distinct colours that make a scene with many objects very colourful. The ID matte can be used to pick one or more objects in a scene. The ID matte can either be exported or it can be used by the 3D software itself for compositing.
An example workflow would be to use the cryptomatte image to generate a mask that itself is used to limit an effect to only a certain part of the image. It can thereby be used to quickly create masks without the need of re-rendering a whole scene.
The example workflow for images:
-
A simple rendered 3D scene
-
The scene's cryptomatte view as image
-
A mask based on the cryptomatte image with the cube as selected object
The same workflow for video files:
-
A simple rendered 3D scene
-
The scene's cryptomatte view as image
-
A mask based on the cryptomatte image with the cube as selected object
-
The cryptomatte (top), rendered (middle) and mask view (bottom) combined
The masks in the examples can be used to limit a visual effect so that only the cube in the middle is affected.
Licensing
[edit]The developers published the program's source code and licensed it under the BSD 3-clause license "to turn it into an ecosystem around an open standard". Their goal was "to see a diverse ecosystem of renderers that can create Cryptomatte images and plugins for compositing applications to decode them".[1]
See also
[edit]References
[edit]- ^ a b Cryptomatte on github.com
- ^ Cryptomatte Node on docs.blender.org
- ^ Cryptomatte in Maya on rmanwiki.pixar.com
- ^ Cryptomatte on docs.arnoldrenderer.com
- ^ Cryptomatte on sidefx.com
- ^ a b Blender 2.80 Release Notes: Cycles on wiki.blender.org
- ^ index of blender 2.92 release on download.blender.org
- ^ a b Blender 2.92 Release Notes: EEVEE on wiki.blender.org
- ^ Cryptomatte Shader docs.arnoldrenderer.com
- ^ Solid Angle ships Arnold 5.2.1. CG Channel. October 23, 2018
- ^ a b What’s new in Houdini 16.5 Side Effects Software
- ^ Karma Renderer FAQs. SideFX
- ^ Foundry ships Modo 14.2. CG Channel. November 13, 2020
- ^ Redshift Version 2.6.11リリースノート (in Japanese). Born Digital. June 12, 2018
- ^ a b Changelog - 3DELIGHT. DNA Research
- ^ Movie Render Queue Render Passes. Epic Games
- ^ AMD ships Radeon ProRender 3.1 for Blender and Maya. CG Channel. April 1, 2021.
- ^ CRYPTOMATTE on aoktar.com
- ^ PxrCryptomatte on rmanwiki.pixar.com
- ^ Using the Cryptomatte In V-Ray for 3ds Max on tutorials.cgrecord.net
- ^ Autodesk ships Flame 2020. CG Channel. April 16, 2019
- ^ Adobe ships After Effects 17.0. CG Channel. November 4, 2019
- ^ Foundry ships Nuke, NukeX, Nuke Studio & Nuke Indie 13.0. CG Channel. March 17, 2021.
- ^ Chaos releases V-Ray 5 for 3ds Max Update 1. CG Channel. February 24, 2021
- ^ New: Exr-io 2.00 with cryptomatte support. Exr-IO is a third-party plugin
- ^ "Release Gaffer 0.61.2.0 · GafferHQ/gaffer". GitHub. Retrieved 2023-07-21.