This posting will provide a step by step tutorial on how to set up Linear Light Workflow (LLW) for the Caustic Visualizer renderer using Autodesk Maya’s Color Management. The Caustic Visualizer viewport also supports Maya’s Color Management tools.

Note that this tutorial is applicable to mental ray and you should be aware that the Maya software renderer does not support color management. I’ve uploaded a zipped Maya project which contains a texturemap source image and two Maya scenes – one is for 8-bit(png) and the other for float(exr) output.

Linear Light Workflow (LLW) with 3D applications refers to color managing the viewer, texturemap and color sources to display images with the correct contrast. Some people refer to this as color and display gamma; if you want to know more, my favorite color scientist, Charles Poynton’s Color and Gamma website explains the display gamma issue in great detail.

In my experience as a teacher and pipeline developer, most CG artists don’t understand the LLW and would rather ignore it. This doesn’t change the fact that all 3D applications should always be setup with LLW, otherwise you cannot make proper decisions about lighting your scenes, particularly for photo-realistic rendering. Even edge anti-aliasing is not properly displayed on a non gamma boosted display.

Color Management, added to Autodesk Maya 2011, allows artists to easily setup a LLW. Prior to this Maya version, LLW was convoluted and varied widely. It is now mostly automated, but there are some relatively minor issues which still need to be addressed manually, which will be described in this tutorial.

We will be touching on the following panes of Maya’s interface: RenderView, RenderSettings and Hypershade.

Below is a snapshot of RenderView and the Visualizer Viewport showing the elements which are part of the attached Maya scenes. Notice the two spheres, solid color and ramp rectangles at the right of the images where material RGB values were used to exactly match the background texture (how this is done will be described later)

renderviewandviewportN.JPG

First let’s discuss 8-bit output renders. RenderView, the Maya displayer, provides access to display ColorManagement in the “Display” pull-down.

RenderviewDisplay_colormanage.JPG

You will see the RenderView color manager attributes on the right in the attribute editor; set them as you see below:

Image Color Profile is sRGB

Display Color Profile is sRGB

viewcolormanager.JPG

Next, in RenderSettings Common tab, please set:

Enable Color Management toggle on

Default Input Profile is sRGB

Default Output Profile is sRGB

rendersetttings.JPG

Next, in the Caustic Visualizer tab, set the output file format to png and the Clip Final Shaded Color to on. Note the gamma value remains 1.0 (this attribute is only there for compatibility with the other renderers)

cvoutputpng.JPG

Next, let’s describe what is required for rendering float(exr) output.

Set the RenderView colormanager attributes as you see below:

Image Color Profile is Linear sRGB

Display Color Profile is sRGB

viewcolormanager_exr.JPG

The RenderSettings Color Management must be changed to

Default Input Profile is sRGB

Default Output Profile is LinearsRGB

rendersetttings_exr.JPG

Next in the Caustic Visualizer tab set the output file format to exr. The Clip Final Shaded Color is set to off since we are outputting a float format we probably want to save images with over-bright values greater than 1.0. Note the gamma value remains 1.0(this attribute is only there for compatibility with the other renderers)

cvoutputexr.JPG

Next, let’s cover some of the hypershade nodes in these scenes. The background texture (a sRGB gamma boosted png file of the famous Kodak Marcie image widely used in color grading) is a surfaceShader with a file node attached to the color attribute. Note the choice in the Color Profile pull-down of the file node. It is set to “Use Default Input Profile”. This is directly connected to the RenderSettings Common tab ColorManagement Default Input Profile which is set to sRGB. This means that the texture will be automatically gamma inverted by 0.4545 at render time.

texturefilenode.JPG

If we take a look at the hypershade material network for the brown sphere which has a phong material attached, we notice there is a gamma node directly connected to the color attribute of the phongShader. The RGB values of the color attribute of the gamma node were eye drop picked from the original Marcie png image in a paint program. Those RGB values were typed into the Value attribute of the gamma node. We then set all three Gamma values to 0.4545.

This inverts the specific RGB color so that it fits into our LLW setup and seamlessly matches the background color. The grey sphere is done in the same way. For single colors this is a more efficient approach than using a ramp node and a gamma node. For ramp nodes you have to attach a gamma node to the output in order to invert the gamma. It’s unfortunate that Maya does not have a Color Profile pull-down in these nodes just like the file node. If they had, this manual aspect of setting up LLW in Maya would be unnecessary.

Hypershade network for setting solid color RGB values.

gammabrown.JPG

Hypershade network for setting ramp RGB values.

gammaramp.JPG

I hope you found this tutorial helpful and I invite you to see our Caustic Series2 ray tracing acceleration boards and Visualizer plugins in action at SIGGRAPH 2013 in July. If you want to download a quick script developed by Ryan Montrucchio that you can copy/paste into a MEL tab within your Script Editor to quickly setup the defaultViewColorManager and Render Settings Color Management for a Linear Light Workflow, head over to our forum. You can find the full Autodesk Maya project available for download with the scenes shown above too.

We plan to keep developing more tutorials, tips and tricks and articles in the future, so keep interacting with us on our user forums and come back to our blog.

Make sure you follow us on Twitter (@CausticGraphics and @ImaginationPR) and like Caustic on Facebook for the latest news, videos and tutorials from Caustic.

Make sure you follow us on Twitter (@CausticGraphics and @ImaginationPR) and like us on Facebook for the latest news, videos and tutorials from Caustic. – See more at: http://withimagination.imgtec.com/index.php/caustic/caustic-visualizer-1-1-for-autodesk-maya-gets-batch-rendering-and-modelling-modes#sthash.lTJkkyEf.dpuf
Make sure you follow us on Twitter (@CausticGraphics and @ImaginationPR) and like us on Facebook for the latest news, videos and tutorials from Caustic. – See more at: http://withimagination.imgtec.com/index.php/caustic/caustic-visualizer-1-1-for-autodesk-maya-gets-batch-rendering-and-modelling-modes#sthash.lTJkkyEf.dpuf

About the author: Will Anielewicz

Profile photo of Will

Will has been playing with computers since 1967. After completing an Honors Computer Science degree at York University in 1974, he was a multi-discipline Masters candidate combining Fine Arts, Computer Science and Philosophy. The mandate was to create a computer graphics piano that could be used in live concert performances. In 1976 Will had one of the world's first exhibitions of computer graphic art at a Toronto Canada art gallery. In 1982 Will was hired as the first employee of Alias Research, the creator of Maya. Since then, Will has worked on 14 feature films (including "Phantom Menace") and several award winning commercials. Will now works for Imagination Technologies in the Caustic Professional division as a senior software engineer. Will has had more than three decades of experience in the state of the art of computer graphics. His goal is to continue to push the envelope of computer generated imagery and to master mindful meditation.

View all posts by Will Anielewicz