2011 - Color Management for LWF ?


#1

Would anyone be kind enough to explain the correct process of working in linear colour space in 2011, utilising the new ‘color management’ features ?
:bowdown:


#2

EDIT: the test done in this post is done with the inherited Maya 2010 preferences and inaccurate. Please refer to post #18, #19 and #20 for more information.

Not a real contribution here. I spent a whole afternoon reading the manual and trying to get this new Color Management thingy going for linear workflow. But, I got confused…

The test scene contains some planes and spheres, one JPG wood texture, one default directional light with specular disabled, rendered from the Front camera. Three materials: lambert, blinn, mia_x_passes(from left to right).

The setting I am using is as below:
Render Settings

Enable color management
Default Input Profile: sRGB
Default Output Profile: Linear

Image format:exr
Framebuffer: RGBA(Float) 4x32bit

no lens shader connected to the camera.

Render Viewport

Display - Color Management

viewColorManager

Image Color Profile: Linear
Display Color Profile: sRGB


I batch render and then view the rendered .exr in Nuke (color space of the read node is default linear), it looks washed-out. In Maya 2011 Render View, it looks washed-out too.

Here below is the validation image viewed in Nuke (color space of the read node is default linear), rendered in Maya 2010 with the old linear workflow method. (gamma correct node with 0.455 for the JPG wood texture, no lens shader during batch render, framebuffer gamma=1, 4x32bit, EXR )

I attached the Maya 2011 scene file and the JPG wood texture if you are interested to take a quick look.

Here is the JPG wood texture viewed in windows image viewer for reference:

cheers

  • Jason

ps. if I set the color space of the read node (Nuke) to sRGB for the image generated by Maya2011, it looks close to the one from Maya2010, but the light falloff is different shown on spheres.


#3

As far as I am concerned Linear workflow for me works best when I just type .454 into the framebuffer gamma. I am sure this will stir up debate once again, but it just works, no lens shaders no gamma correct nodes (this happens automatically at render time),.

If you are using normal maps just type 2.2 into the colour gain of the image. As far as I can tell this just works. And every compositor I work with agrees!

My 2c

Nick


#4

I’ve downloaded the file and it seems you didn’t use physical sun and sky. If you don’t use it then I don’t think you need to use Color Management because Maya is Linear by default.


#5

The frame buffer gamma affect not only normal map but all, like displacement bump. Remember to ins a gammanode 2.2 on disp and bump if you want to use this option.
I use color management disable and on textures colorprofile i’m set linear and apply a gamma node with HFscript hfautogamma to 0,454 in all node color and textures. Set gamma exposure to 1, frame buffer gamma to 1 4x32bit and it release on render view the correct gamma, not washed and on exr open in PS not change, it is good with correct gamma, no washed.
This is what i want and this is my method.

P.S. in color management on renderview i’m set linear-srgb(gammacorrected)


#6

@Dario: I have a question. If I use the traditional lighting set up which don’t utilize either lens shader or physical sun and sky. I don’t have to gamma correct all of the textures right?

@Jason Huang: I found why it appeared washed out like that in 2011? In the Render View, you go to Display --> Color Management. If you change the Display Color Profile to Linear, it will appear exactly like you see in the Render View in Maya 2010. You can play with the Exposure and the Contrast right there. This will only affect what you see on the Render View. The Color Management in the Render Global will affect if you use batch render.


#7

If you don’t to use physical Sky&Sun and use a traditional, for a correct work you must use a frame buffer gamma, in any cases the correct workflow want a gamma.

another one:
We tests some in maya 2009 and the best way is to turn off gamma 2.2 in exposure photo and set it to 1, because the 2.2 affect Aliasing. With gamma 1, you have not artifact in render like tipical noise or aliasing edge.

This tests o f my setting on linear workflow. Maya 2009, in original renderview i see dark, but in exr i have a correct images like you see. Maya 2011 with hte setting explain before is the same in render view and exr output.


#8

@Dario: You mean if I don’t use any lens shader, then I just leave the buffer gamma at 1 by default right? The reason we gamma correct because when physical sun and sky activated, the lens shader applied to all existed camera and set the gamma at 2.2 by default right?


#9

tone mapping applies to physical sun&sky due to its high dynamic range. Gamma correction relates to perceptual pixel brightness in an sRGB colour display (what your monitor uses). If you work (render) in a linear workspace, without gamma correction, and your linear images that arent float, they will be viewed with an sRGB correction, thus changing the perceptual pixel luinance.

eg. a lights value of 0.5 will actually look like abiut a 0.2 brightness on an object, as a rough example. This also means that light falloffs are far more contrasty and light appears to not reach into the scene when using the inverse-square falloff.

When you add gamma correction, you apply the inverse to the sRGB curve, which make images look washed out, (if viewed in a linear workspace/monitor) but appear correct when viewed in an sRGB colourspace (what all our monitors have).

If you render to 32bit, you can do all that gamma fluff in post. Use the lens shader with gamma 2.2 to pre-view images, then render with gamma 1, but keep the lens shader for tone-mapping for sun&sky/HDRi use.

You shouldnt need a gamma correct node now for file textures as you can tell Maya that theyre an sRGB image, so by adding a 0.454 gamma correct to them, essentially makes them twice as dark as they need to be.

This is all based on my understanding of gamma wf, and Mayas new tools, so I could be wrong on soe of these points, but it all works fine for me so far.


#10

My workflow is (if I do not render to EXR):

  1. Add lens shader, set gamma to 2.2.
  2. Enable color managment, Set both default input and output to Linear.
  3. Than just for diffuse textures add sRGB color profile. Main utilization of color management is in this step, as it is easier like this than manually adding gamma node with value of 0.4545.

#11

Without going into what all of this means, I’m just asking how it works, now that we don’t require gamma nodes everywhere or changes to the RGB values when using a lens shader on the camera.

This is what we think is producing the right results but Jason isn’t getting them for some reason.

Render Settings

Enable color management
Default Input Profile: sRGB
Default Output Profile: Linear

Image format:exr
Framebuffer: RGBA(Float) 4x32bit

If using a lens shader set gamma to 1.0 (remember a lens shader is applied if using sun)

Render Viewport

Display - Color Management

viewColorManager

Image Color Profile: Linear
Display Color Profile: sRGB

Now in my planky test, nothing is washed out in the Render View, it looks as it should do.
I need to test out an EXR.


#12

It is also important what profile you use for you textures.
If you set up Default input to sRGB and for all textures use ‘Default color profile’ your bump, reflection maps, displacement etc. will be also gamma corrected, which isn’t what you need. If I did understand this correctly.

BTW thanks for Render Viewport tip, didn’t notice that option at all.


#13

Hi, all,

I thought the whole idea of this new color management, at least to me, is I can save time one setting tons of gamma correct node for color textures and a lens shader as a LUT for Maya’s Render View.

It has nothing to do with Physical Sun & Sky. In my test, I simply want the Color Management to linearize the JPG texture also to apply a sRGB LUT for viewing in the Maya Render View. And I set the setting based on what I understand from reading the manual…

SreckoM, I use default color space, which should be the sRGB as specified in the Render Setting, for the texture node of the only one texture (a JPG texture for color/diffuse channel) in my test scene.

RaginBull, do you mind sharing your test scene? It seems that you are using the setting as I am. But my render looks washed-out in the Render View…

  • Jason

#14

@jason How image looks like when you render it in render view?


#15

Hey Jason, yep will do, just have some annoying chores to do first of all :banghead:


#16

Sorry, I missed that you already said that it is washed in render view.
I just downloaded your scene, open it, hit render and it looks OK in render view.
Also when preview batch rendered image in PS it looks OK there too…


#17

Jason I downloaded you scene and it works fine here, nothing washed out. I don’t know what’s up. Have you set your renderview to 32 bit and restarted?

For everyone else. There is a lot of confusion in this thread - some good advice and some bad advice. The simple version:

Turn on colour management. Change your renderview input image profile from sRGB to Linear.

That’s it.

Do not use gamma nodes. Do not use lens shaders or tonemappers. Do not tweak the Framebuffer Gamma setting. If you want to use Maya’s colour management features all of those things are unnecessary, and in most cases will break all the hard work you put in following the steps above.

Now for the problems/bugs and workarounds…

If you need to use physical sun & sky locate your mia_exposure_simple shader and get rid of it. (You’ll also now need to adjust the gain on the mia_sky node from 1 to 0.2 because by default the mia_sky/sun are very bright and the exposure node usually compensates with a gain of 0.2). IMO this is a developer oversight and Maya should no longer automatically add that lens shader. Once you understand why you don’t need it, you might discover a reason for keeping it, but for now, delete it.

Procedural textures are always linear, so despite what I said above, you may want to dig out the old gamma nodes if you’re using procedurals for colours maps etc. It’s a shame, but we’re holding out for a fix.

Colours entered into colour swatches in your shaders or lights are also linear whereas you’ll be ‘thinking’ in sRGB. So you’ll need to compensate somehow, either by gamma correcting in your head, in a calculator, by pure guesswork or by piping a single colour ramp texture through a gamma node. This is even more of a shame, but don’t worry the AD guys are already fully informed on how lame this is.

If you need to use image planes you need to know that Maya assumes all image planes are linear and you cannot tell it otherwise. Your best bet is to linearise the image in a 2D app before bringing it into Maya. Depending on the app this process entails gamma correcting by 2.2 or .454. The resulting image will look dark in your 2D app and in Maya. Now if you use the colourpicker to pick colours from the image plane you’ll be selecting ‘correct’ colours - linear image -> linear image plane -> linear colour picker -> linear swatch -> linear procedural/light. All good. And when you render the image your image plane will look correct.

If you want to use PSD textures, again Maya assumes they are linear and does not give you an option to change it. You’ll need to create a colour profile node, set the profile to sRGB then via the connection editor connect the colorProfileType of that node to the colourProfile of the PSD node. Henceforth Maya will know your PSD is sRGB and you won’t need a gamma node.

The same as above applies to the ‘movie’ 2D texture node.

If you want to use an IBL node, again Maya assumes it’s linear. Given that you’ll most likely be using an HDR, it’s best that your image is linear anyway.

Sounds messy but IMO it improves on both of the existing linear workflows considerably, has less bugs (cgbeige rants notwithstanding), and is well designed for future expansion.

Hope it helps.

Edit: wherever I say “Maya assumes xxx is linear” what I really should say is that Maya does not perform any colour management on xxx so if you’re rendering linear, xxx is treated as if it’s also linear.


#18

Thanks, mattewood, those suggestions and workarounds are really helpful. :thumbsup:

I finally got a non-washed-out render after deleting the whole Maya 2011 preferences and using a new default preference. Guess there is something to do with inheriting preferences from Maya 2010.

Still, there is difference between the result generated under Maya 2011’s CM system and old style gamma node linear workflow approach.

Here is the Maya 2011 CM Enabled batch render result viewed in Nuke:

As a validatin, here is the Maya 2011 CM Disabled with a gamma correct node (0.455) placed between color texture and materials. Batch render result viewed in Nuke: (looks exactly the same as the one I got from Maya 2010 using the same method)

The difference is:

You mentioned the light color has to be considered as part of the linear workflow. I agree, but I don’t think I should gamma correct my pure white directional light’s color with 0.455 as it will obviously too dark in this case.

So, what’s causing the difference? I thought in Maya 2011’s, when sRGB is specified as Default Input Profile (CM enabled), it is equal to a gamma correct node (0.455) applied to color textures?

RagingBull, you can save time uploading the scene. :slight_smile:

cheers,
Jason


#19

Jason, as far as I can tell your settings are correct and maya 2011 has some problems with their new color management.
I agree with the previous poster that this thread contains some incorrect statements - so many in fact that it would be difficult to address each one, so I’m just going to state what I believe is wrong with the new color management based on a simple test (like Jason’s) with a JPG fileTexture being rendered to a EXR format with a 32-bit frame buffer which is viewed in the renderview window.

I think the correct settings should be:

Render Settings:
Enable Color Management
Default Input Profile = sRGB
Default Output Profile = Linear

JPG fileTexture Attributes:
Color Profile = Use Default Input Profile

RenderView Display Color Management (defaultViewColorManager) :
Image Color Profile = Linear
Display Color Profile = sRGB

My scene has no lights, no default lights and uses a surface shader. Result is washed out when I compare to original JPG. (About the same amount as your latest test Jason - not as much as your first one).

I discovered that if I set Display Color Profile = Rec. 709 then the result looks correct. Now the render view displays the same as the original JPG. This is a mistake in the color management since my monitor is sRGB

You may think this is ok, and just set it to rec709, but the other problem is that the resulting EXR is not correct either. I found that I needed to add a gamma 0.8 in photoshop to make it correct (by eye). Strangely this is the inverse of 1.2 which got me thinking… did some programmer just mistype the gamma value? Hmmmm.

good luck sorting this out

David


#20

there is definitively some problem with the color management in maya 2011 (why i’m not surprised?), strange differences from lens gamma 2.2, fg messed up
i’m stick with my old workflow with gamma nodes :thumbsup:

p.s.
the one posted by david is the correct workflow… or at least it should be