Follow Me

Dropbox. ?Spread the word.  The first 2GB is free!

Journal Index
« Video - Spring Simulations with the Flex Modifier | Main | Save your Valentines Day with a Romantic French Film »
Friday
Feb182011

Pitfalls of Linear Workflow

I thought I'd follow up the Linear Workflow article with some of the pitfalls that I run into often with this workflow.  All of them can easily be avoided.

Double Gamma

If you've ever saved an exr that was washed out, this is what I would call a double gamma'd image.  (I love the use of this word "gamma" as a verb.) You've applied gamma to the image twice. To fix this, set the output gamma to 1.0 in max's preferences.

 

Ever Heard of a Gamma .45 Workflow?

No. No such thing. That's why you shouldn't be reversing a double gamma'd image. But you've probably tried to reverse it by setting the gamma to .45 or something close to that in Photoshop or After Effects. Actually, If you just rendered a big sequence I'd be fine turning the double gamma back down.  The exr is 16 bit, so you have plenty of data to work with to fix that mistake.  But try to get it right the next time you render.  Check your output gamma in max's preferences. It should be set to 1.0 (or linear.)

Linear Textures

All your textures applied to surfaces will get gamma on the other side.  With no lighting or computer graphics really involved, you can see that the texture will move as a texture through the system, getting gamma's on the other end, and looking washed out. The input textures need to be linear without gamma.  In theory, an 8 bit images that is crushed down to a linear image would not "un-crunch"very well since its in 8 bit format. However, I beleive that max can handle this since it's 32 bit.  Im pretty sure all images that come into 3d max are converteted into an internal 32 bit format.  (Hence the Bitmap texture loads a texture while Noise makes a noise function texture, all of these are floating point "texture types".)  So when max loads images, it can easily handle the incomming images as sRGB inputs, turning the gamma back down before rendering them. So, Set your input gamma to 2.2.  Meaning, deal with all my 2.2 textures.

Normal Maps

So all your textures are coming in now and getting crushed to be darker, then added final gamma pushes it all back up to what we see.  Now lets talk about that normal map your using.  It's a map of vector info.  So with this map, it's getting pushed darker with our 2.2 input gamma and it lookes jacked the fuck up.  So, when loading that particular texture, use the bitmap load dialog to override the gamma to 1.0.  It will remember it for this just this map.

 Displacement and Specular Maps

Ok, so if my theory about data maps is correct then all data maps will technically be wrong.  However, Im usually cranking maps to make my spec maps so does it really matter?  To be honest, I'd love to hear thoughts on that one. (Post to the forum) I just know normal maps seem to show the problem the most.  Maybe it's because of color RGB is XYZ vectors and the un-gamma curve just kills the effect?

Saving a JPG while Your Working

Im often saving off versions of my render work for producers and clients, and I don't always want a linear exr.  I work with the vray frame buffer and I usually remind myself by turning of the sRGB button.  If it's dark, i know that I will need to brighten it when saving.  So when saving, just use the bitmap save dialog and make the gamma 2.2 and then you can save a jpg or whatever you want.

PrintView Printer Friendly Version

EmailEmail Article to Friend