Cryptomatte

From Wikipedia, the free encyclopedia
Cryptomatte
Original author(s)Jonah Friedman
Andy Jones
Developer(s)Psyop
Initial release10 July 2016; 7 years ago (2016-07-10)
Stable release
1.4 / 3 May 2021; 2 years ago (2021-05-03)
Preview release
1.5.0.beta / 10 March 2021; 3 years ago (2021-03-10)
Repositorygithub.com/Psyop/Cryptomatte
Written inPython, Lua
LicenseBSD 3-clause license
Websitegithub.com/Psyop/Cryptomatte
Top: The splash screen of blender 2.81 as rendered image
Bottom: The same scene as cryptomatte image view

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]

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:

The same workflow for video files:

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]

  1. ^ a b Cryptomatte on github.com
  2. ^ Cryptomatte Node on docs.blender.org
  3. ^ Cryptomatte in Maya on rmanwiki.pixar.com
  4. ^ Cryptomatte on docs.arnoldrenderer.com
  5. ^ Cryptomatte on sidefx.com
  6. ^ a b Blender 2.80 Release Notes: Cycles on wiki.blender.org
  7. ^ index of blender 2.92 release on download.blender.org
  8. ^ a b Blender 2.92 Release Notes: EEVEE on wiki.blender.org
  9. ^ Cryptomatte Shader docs.arnoldrenderer.com
  10. ^ Solid Angle ships Arnold 5.2.1. CG Channel. October 23, 2018
  11. ^ a b What’s new in Houdini 16.5 Side Effects Software
  12. ^ Karma Renderer FAQs. SideFX
  13. ^ Foundry ships Modo 14.2. CG Channel. November 13, 2020
  14. ^ Redshift Version 2.6.11リリースノート (in Japanese). Born Digital. June 12, 2018
  15. ^ a b Changelog - 3DELIGHT. DNA Research
  16. ^ Movie Render Queue Render Passes. Epic Games
  17. ^ AMD ships Radeon ProRender 3.1 for Blender and Maya. CG Channel. April 1, 2021.
  18. ^ CRYPTOMATTE on aoktar.com
  19. ^ PxrCryptomatte on rmanwiki.pixar.com
  20. ^ Using the Cryptomatte In V-Ray for 3ds Max on tutorials.cgrecord.net
  21. ^ Autodesk ships Flame 2020. CG Channel. April 16, 2019
  22. ^ Adobe ships After Effects 17.0. CG Channel. November 4, 2019
  23. ^ Foundry ships Nuke, NukeX, Nuke Studio & Nuke Indie 13.0. CG Channel. March 17, 2021.
  24. ^ Chaos releases V-Ray 5 for 3ds Max Update 1. CG Channel. February 24, 2021
  25. ^ New: Exr-io 2.00 with cryptomatte support. Exr-IO is a third-party plugin
  26. ^ "Release Gaffer 0.61.2.0 · GafferHQ/gaffer". GitHub. Retrieved 2023-07-21.

External links[edit]