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

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

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:
Will Anielewicz

Will Anielewicz

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 (such as "Star Wars: The Phantom Menace") and several award-winning commercials.

Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

Blog Contact

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

United Kingdom

[email protected]
Tel: +44 (0)1923 260 511

Search by Tag

Search by Author

Related blog articles

b series imgic technology hero banner

PowerVR SDK and Tools 21.1 Out Now – including ray tracing simulator

The sun is starting to come out, people are returning to society, and potentially most exciting; we at DevTech are releasing a new version of the PowerVR SDK and Tools. The PowerVR SDK contains not only our graphics development framework, but also a handful of example applications that show you not only how to implement certain techniques, but also make the most out of your PowerVR platforms. Between the modules that help you deploy cross-platform or libraries that let you focus on the actual code rather than boilerplate setup; our SDK has everything you need to hit the ground running with making a high-performance application. We’re starting with the SDK, rather than the tools this time, because this first talking point is a pretty big one, we think. 

Read More »
ray tracing Detail Lighting

Imagination collects 5G Cloud Gaming Industry Alliance award for ray tracing

Imagination pioneered hardware-based ray tracing technology several years ago with a focus on an ideal blend of performance, quality power efficiency and the IP is available for licensing. Its efforts have been recognised by the 5G Cloud Gaming Industry Alliance (5GCGA), a new cross-industry collective that aims to develop the 5G cloud game industry worldwide.

Read More »
ray tracing primer

Introducing Imagination Originals: a new 3D art competition for all

With ray tracing on mobile hardware an approaching reality, we wanted to show the world the kind of thing that could be created when mobile gaming meets ray tracing. Imagination Originals initiative is a challenge to the game art community to make gorgeous work but with the added sparkle of ray traced lighting, whilst working strictly within the limits of mobile power budgets.

Read More »


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