Your Linear Workflow isn’t Linear unless you do the following (Maya 2011)

Think all you have to do in Maya 2011 to work linearly is set the two input/output options in the render globals? Wrong! Well, you’ll technically be correct. But you actually have to set three other options hidden away in the preferences, otherwise your nice 32bit linear EXR files will look totally washed out.

The problem is that setting the two input/output options in the Render Globals doesn’t affect how the Render View displays images. Unless you tell it differently, the Render View will display an 8-bit file with a higher gamma, so when you texture and light your scene, you’re texturing and lighting to what looks good with the incorrect display settings. You’ll still be outputting linear files if you, say, batch render, but your lighting and texturing will be completely blown out.

When you get to a compositing program such as Nuke, you’ll quickly notice something wrong. Your first thought will be to check the viewer LUT. That’s sRGB, no problems there. Then… the file input colorspace, which Nuke automatically (and correctly) sets to linear, for an openEXR file. If you set it to sRGB, the washed out EXR magically appears correct. This is because you lit and textured it in an sRGB space, rather than linear. If you set this option in Nuke, YOU ARE THROWING OUT DATA, and might as well be rendering 8 bit files.

The solution is a tough one – relight your scene, but in the correct colorspace. This post in the Maya documentation explains tersely what you have to do:

  1. Set the Default Output Profile to Linear in the Render Globals (We knew this already – the input should be sRGB generally).
  2. Select Window > Settings/Preferences > Preferences > Rendering and select 32-bit floating-point (HDR).
  3. Set the framebuffer to RGBA Float 4×32 for rendering EXR’s (be sure the gamma is 1.0).
  4. In the Render View window, select Display > Color Management to display the ViewColorManager node. Set the Image Color Profile to Linear. This is the color profile for your image source file. (But wait! We already set the render view option, right? No! You have to set it here, too. “Image Color Profile” means the image that is fed into the Render View. This has to be linear, since we set it up in the preferences back in step 1. But we have to do set it again for some reason.).
  5. Set the Display Color Profile to sRGB (gamma corrected). This is the recommended option for displaying on computer monitors. (This is what ACTUALLY determines how the render view displays the image).

I’m not sure WHY steps 2-5 are not done automatically when you select “linear” in the color management section of the Render Globals, but anyway, you are now set to re-light your scene. HAVE FUN. When you get to the end, you may notice that your lights fall off more realistically. Welcome to linear space!

3 thoughts on “Your Linear Workflow isn’t Linear unless you do the following (Maya 2011)

  1. Dom

    From my own tests, you do not turn on the render globals colour management section as well… but instead just add gamma correction to the sRGB textures. You will notice if you set the render globals colour management on and also the display colour management, your render will loose their colour richness.

  2. Steve Post author

    Thanks for the comment!

    I believe turning on the render globals color management and setting the input to sRGB basically does exactly what you describe – adds the gamma correction to all of your file texture nodes.

    I believe the loss of color richness you’re referring to is what happens when you convert a scene that you’ve already lit in 1.8 or 2.2 gamma to linear / 32bits. You actually have to re-light everything after doing this, but I believe now you’ll have more realistic falloffs and lighting interactions.

  3. anthony mcgrath

    hi I’m fairly new to this and trying to discover how to work with 32bit colour images – i know how to get maya to render them 4x32bit float openexr files and i’ve followed the above info to setup maya accordingly for rendering
    my question is though – i have a model and the shader consists of a mia_material with a diffuse texture plugged in. Between the texture and the shader though is a gamma correct node set to 0.455 – do i still need to be doing this for all my shaders or should i bin this entirely? i’m a little lost there as to what to do

Leave a Reply

Your email address will not be published. Required fields are marked *