Linear Workflow in Maya: Present and Future

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  05 May 2012
Linear Workflow in Maya: Present and Future

Probably this is not a hot topic anymore, but since I am processing info on linear workflow for my Diploma thesis, I'd like to start LWF discussion again. I am Maya user. Honestly, I find several things strange - maybe its my lack of understanding, but...

First, why does Maya apply gamma-expansion (2.2 gamma) on its own material' swatches, when color management is enabled and I render in sRGB output profile? To overcome this, I have to put gamma correct node of 0.45 gamma for each shader swatch (counterproductive!). In my experience, it does not matter, whether you have chosen the Default Input Profile to be Linear sRGB or sRGB - gamma-expansion will be applied to Maya material's swatches in any case! Won't it be more useful to have swatches with gamma 2.2 already applied for the preview in Hypershade (sRGB preview) and then make Maya to de-gamma them internally, when output profile has to be linear?

Second, I've heard that since Color management is relatively new (from Maya 2010), it sometimes can give strange artefacts when rendering: for example, in some very bright light spots, or rims of light, or specular maps... But as lucky Maya users, we have, of course, other methods: using mia_exposure_simple lens shader or Mental Ray primary frame buffer. What I still don't get: is it an advantage to have so many different ways of setting up LWF in Maya, or is it rather inconsistent architecture of the program and LWF setup will be improved in future? If so, what would you like to have improved?

Btw, in Maya 2013 they have put production materials and mip_gamma correction node amongst them. I did not test it myself yet, but I wonder what would be the difference between mip_gamma correction and classical gamma correction node?
 
  05 May 2012
I think your questions are shared by all Maya users that care about linear workflow, specially those that came from other applications.
Even with the new color management system, everything is so inconsistent that I still rely on my old methods, like the gamma input nodes. They are the only way I found to accurately preview the color as you want it to be (in the node) and how it will render like linearly (in the material AE), such functionality should be in the AE by default, I believe.
I don't believe we Maya users are lucky at all, every other software that I had to work on is far ahead in handling this, some do it so smoothly that users may be getting the benefit of LWF wihtout even knowing about it. In Softimage you simply set the color management with the proper gamma and each swatch will show you the correct color, plus, if you right click the swatch you can switch between linear and gamma display. I believe Max does something similar.
I still wonder how could they implement the color managent for textures but not for swatches.
__________________
"Ars sine scientia nihil est..."
 
  05 May 2012
It's defiitely a mess, it's even worse if you need to render some element in Mental Ray and others in Vray.

I think the main thing holding everything back from just working is the fact that so much of Maya and so many textures are 8 bit. This is a great thing about nuke, it treats everything as if it is 32 bit. If maya just dictated that everything is by default in linear space and when you import a texture you tell it at that moment if it needs a gamma correction or not, then things would be great.

-Chris
__________________
Chris Smallfield
Freelance VFX Supervisor / Artist, Berlin
portfolio: http://www.chrissmallfield.com
 
  05 May 2012
"Lucky Maya users" was meant ironically. Sometimes I really think of switching to Max I really do not understand how Autodesk manage to release a new version of Maya each year and keep the same drawbacks!
I hoped that there is some deep meaning of those linear swatches and complicated LWF setup in Maya and I simply do not understand it!
I agree with Chris - why not implementing the assumption that all inputs are linear + fixing this terrible issue with swatches - that would be a big improvement already (imho)...
 
  05 May 2012
I would suggest making your color pipe independent of your 3D package. 3D packages weren't really designed as an end-to-end solution anyway. So why not let Photoshop and Nuke do what they do best?

Take a look here at a way to avoid letting Maya control your color pipe: http://elementalray.wordpress.com/2...eferred-method/

With this workflow your textures and rendering are generally independent of the software you use to render them. With the exception of the color picker, the rest means assets are more easily moved between packages.

Part 1 of the post (not linked here) talks about the benefits and pitfalls of the built-in LWF but suggests in Part 2 that you not use it.
__________________
My opinions are always my own...and maybe a friend's, but never my employer's.
 
  05 May 2012
Originally Posted by csmallfield: If maya just dictated that everything is by default in linear space and when you import a texture you tell it at that moment if it needs a gamma correction or not, then things would be great.


But doesn't that what M2011+ does currently? I took it the original complaint from Starbutt was about the material preview swatches having a colour correction applied/not-applied to them (I assume this complaint also applies to the model viewport?).

Originally Posted by Bitter: Take a look here at a way to avoid letting Maya control your color pipe: http://elementalray.wordpress.com/2...eferred-method/


I agree with Bitter on this one - by default Maya will work in linear-light - so as long as pre-linearize your textures outside of Maya (ie. in Nuke) and set the render viewer to view in sRGB you should be fine. The only issue is that light colours are still in linear, while most of the time you'll want to be able to pick the colour in sRGB instead (this would be the only current thing which would require either a gamma-correct node or a sRGB-correct node if you have one). Having the model viewport and material previews inconsistent personally doesn't bother me, although I guess it would be nice to have them represent what is actually going on in the final render.

Also you don't need to use a colourspace node in Nuke to convert between spaces. In fact using a colourspace node to convert from sRGB to linear and then setting the write node to linear will result in a double-transformation (the read node has already converted it into linear space). Just connect a write node up to the read node and set the write node colourspace to linear, as long as the read node's colourspace is set correctly to sRGB, Nuke will do the correct conversion into linear.
 
  05 May 2012
Quote: Also you don't need to use a colourspace node in Nuke to convert between spaces. In fact using a colourspace node to convert from sRGB to linear and then setting the write node to linear will result in a double-transformation (the read node has already converted it into linear space).


Correct, except that people like to write out to the original format and Nuke corrects it back unless you change it in the read node. (It rightly assumes JPEG is sRGB but if saving back to JPEG we don't want that for rendering.)

So for clarity the colorspace node is shown to show what is going on. I'm trying to avoid going into the inner workings of Nuke too much. :-) But I can probably make that more clear.
__________________
My opinions are always my own...and maybe a friend's, but never my employer's.
 
  05 May 2012
Hey, Bitter, thanx for the nice link! I am going to spend some amount of time with it!
 
  05 May 2012
From http://elementalray.wordpress.com/2...kflows-in-maya/

"Well, you can use the gamma nodes attached to nodes and omit them for data type textures like bumps. But why?! This not only increases your workload for every texture and color picker, but what if you forget one or fumble thumb a setting? So letís not go there. "

Instead, David proposed to linearize input files in photoshop. But what about the possibility to override the input profile?

From Lee Lanier "Texturing and Lighting" book:
"You can override the global Default Input Profile setting on a per-texture basis. To
do so, change the Color Profile menu of the File node. Color Profile is located directly
below the Image Name attribute in Maya 2011 and 2012. In addition, you can create a
custom color profile by clicking the Create New Color Profile button to the right of the
Color Profile menu. This connects a Color Profile node to the File node. The Color Profile
node carries Gamma, Color Temperature, and White Point inputs that can be fed values
through custom connections or expressions."

As far as I understand, there's no need to feed gamma correction node in textures - you can always override whatever default input profile you've set in color management by going to File node and putting its profile there. That leaves only color picker manual gamma correction (grrr!).
 
  05 May 2012
You can do that individually.

But why?

By having your color textures already prepared you don't have to so any of that. Just input and render, use the correct setting in the viewer and you're good to go.

Also, this means you can render with mental ray, Vray, Renderman, whatever, because you're not relying on the system in Maya that's designed for mental ray.
__________________
My opinions are always my own...and maybe a friend's, but never my employer's.
 
  05 May 2012
Now, when I think about it... yes, it's probably the best way. Thnx!
 
  05 May 2012
Originally Posted by Bitter: Correct, except that people like to write out to the original format and Nuke corrects it back unless you change it in the read node. (It rightly assumes JPEG is sRGB but if saving back to JPEG we don't want that for rendering.)


Yeah that's fine if your going from JPG to JPG (as suggested in Backdrop4 below), but if your going from JPG to EXR as you suggested in your blog you'll need to change the colourspace on your write node to sRGB, which can confuse things when your dealing with EXRs (which are always assumed to be in linear).

The result in Backdrop1 is always going to be incorrect even if I change the format on the write node to EXR because it's already done two colourspace conversions already (once on the read node and again on the colourspace node).



Backdrop2 works, but the read node will look wrong when viewed with a lut. That's why I'm suggesting skipping the colourspace node and using the method in Backdrop3 instead - because the viewer is always going to look correct.

Apologies if this is being overly pedantic and going slightly off-topic. I do agree with Bitter's method (blog post) of working in linear.
 
  05 May 2012
I updated it to clarify the write node/color depth auto-correction. Thanks!

(Backdrop 4 was the assumed workflow in this case)
__________________
My opinions are always my own...and maybe a friend's, but never my employer's.
 
  05 May 2012
Pre-linearizing all textures is only a solution if you're responsible for producing the textures, but when you're working with dedicated texture artists it's hard to have them work in linear space. I believe the result is not safer than having Maya assume every texture is corrected or not, unless you check every single texture and re-save them yourself, this can lead to problems if people down the road have no contact with you as the project goes.
Also, this doesn't take care of swatches, you now have everything linear, but you're still picking everything according to vision, which expects a gamma return, so you're forced to compensate for this yourself, without any visual representation of the change. This is why I still rely on gamma nodes, I can see the linear color, and the color how it should render, without having to render it to see it.
__________________
"Ars sine scientia nihil est..."
 
  05 May 2012
Conclusion of the Day - how to set LWF in Maya:

-Set all input files to linear color space before inputting into Maya (i.e. in Photoshop)

-Do not check "Enable Color Management" option of Mental Ray, better trash it!

-Instead, under Render Settings / Quality put Frame Buffer Data Type to RGBA (Float) 4x32 bit

-In the Render View/Display/Color Management set Image Color Profile to Linear sRGB and Display Color Profile to sRGB

-Render!

It seems that this way does not require gamma correction of material's swatches. I believe this old method is better then new "Enable Color Management"! Please, correct me if I am wrong!
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 01:12 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.