Linear Light Workflow (LLW) for 8-bit and float output rendering in Autodesk Maya

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)


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


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


Next, in RenderSettings Common tab, please set:

Enable Color Management toggle on

Default Input Profile is sRGB

Default Output Profile is sRGB


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)


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


The RenderSettings Color Management must be changed to

Default Input Profile is sRGB

Default Output Profile is LinearsRGB


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)


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.


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.


Hypershade network for setting ramp RGB values.


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 @ImaginationTech) and like Caustic on Facebook for the latest news, videos and tutorials from Caustic.

Make sure you follow us on Twitter (@CausticGraphics and @ImaginationTech) and like us on Facebook for the latest news, videos and tutorials from Caustic. – See more at:
Make sure you follow us on Twitter (@CausticGraphics and @ImaginationTech) and like us on Facebook for the latest news, videos and tutorials from Caustic. – See more at:

Leave a Comment

Search by Tag

Search for posts by tag.

Search by Author

Search for posts by one of our authors.

Featured posts
Popular posts

Blog Contact

If you have any enquiries regarding any of our blog posts, please contact:

United Kingdom
Tel: +44 (0)1923 260 511

Related blog articles

PowerVR Series2NX collects another award at China tech summit

Following success at other award ceremonies this year, PowerVR’s Series2NX neural network accelerator has picked up another gong. This time, the panel of judges at the ASPENCORE Global Electronic Achievement Awards Annual EDA/IP award ceremony deemed it to be the most

Powering the automotive revolution

Since the advent of the semiconductor, the industry has been all about making electronics faster and more powerful. While that process is ongoing, the focus these days is on making things smarter and more efficient, and nowhere is that truer

Partner interview series: OPPO – rising up

In the first of a new ‘quick chat’ interview series, we speak to some of our leading partners to learn about their perspective on the industry and how they are looking to challenge the status quo. We start with China-based

Stay up-to-date with Imagination

Sign up to receive the latest news and product updates from Imagination straight to your inbox.

  • This field is for validation purposes and should be left unchanged.
Contact Us

Contact Us