Gamma correction - do you care?


#1

Since dealing with it at work, I’m noticing that there is quite some confusion about the why and how of gamma correction and linear rendering, that is if people even know that it exists.

So I’m wondering about how do others deal with it? Do you have a linear workflow? Do you know about and ignore it because it’s just easier to not bother? Or did you never see the necessity to find out what the ‘gamma’ thing in the render settings does?


#2

I think it would stand to reason that anyone working professionally creating CG imagery would know about such things.


#3

I would have thought so too, but I was surprise to find many people around me who made their living in CG and did not know. Heck, how come so many commercial 2D imaging applications run all their filters in gamma space instead of linear space (see this for example)?


#4

My experience is that almost no one outside of high-end film has more than a inkling of how it works… in 18 months working in production, I’ve yet to have any colleagues, contractors, or clients (cg artists themselves) have a grasp of it, and the typical attitude is not to worry about it.

I’d very much like to understand it more, but no one around me gets it and I haven’t found much clear literature on the subject.


#5

you miss a category:

I use linear workflow as I seem to understand it but I am not quite sure about the right way and the result I should get.

That right, Since I use LWF I find my output to be a little washed out.


#6

I don’t think there’s that many people even in high-end film who really understand it either. I was incredibly resistant to it at first because of the exta complication it involves, but the results really are worth it.

However it’s actually quite difficult to convince other people that it’s right. People are so used to looking at images for years in a non-linear space that intuitively it doesn’t feel right to them. Then there’s some really weird stuff to do with the non-linear response of the human eye too that confuses the hell out of many people.

Haven’t really got to grips with log and scanning and print lights and all that jazz yet either… I’m waiting for the fully digital pipeline to come around so I don’t have to! :slight_smile:


#7

I did a tutorial for Blender users about it, I use it and it is common to have such feature in last generation render engines. Although linear workflow means that the display device should be calibrated and for beginners this is a first step to take and understand before ever considering the linear workflow thing.

http://forums.cgsociety.org/showthread.php?t=305727

I have a question about the linear workflow:

Should light colors and background colors back corrected to linear space in the render engine before rendering?


#8

I’ve met more people than I’d ever thought possible in the high end film industry who have no freaken clue whatsoever about deep shadow maps, different colour spaces, response and timing issues and a million other things, and yet they deal with it everyday (and often force someone else downstream to fix their shit).

I’d say the people aware of what they are doing to an extent higher than that of your average chimp don’t make more than 20% of the film industry.
Gamma and linear rendering might make that slice even smaller.


#9

So how can we get over this hump as an industry… maybe this would be a good topic for a CGWorkshop (series?!?). I’m taking a course at fxPHd on digital color theory, and it’s a good class, but it hardly takes the dust off of the surface, forget scratching the surface.

I’ll check out that blender tutorial… didn’t know about that one. Thanks!


#10

I actually teach a masterclass at siggraph that will touch on the topic. It wasn’t planned to be the main topic but…

/Z


#11

If I can make LA this year, I’ll find a way to that class… I’d hate to put this as the main topic when there’s so much else you could share Zap, but I’m sure there’s an audience for a full-dose of gamma control.


#12

Sooooo as someone who is eeking out whatever knowledge they can about 3D while hoping to become more involved in the industry as his education progresses - where does one learn about Gamma and Linear Rendering?

I did look up gamma and found a number of references to how your work appears on the monitor. Is that the same type of gamma that you’re referring to?

http://www.cgsd.com/papers/gamma_intro.html

As far as Linear Rendering I found this :

http://highend3d.com/3dsmax/tutorials/rendering/vray/147.html

So my understanding after reading these pages is that when you create an image, your monitor will by default darken the image. Gamma is a setting then used to counter balance that effect by bringing up the image and, specifically, the shadows?

I have found how to enable Gamma in my renderer (MentalRay) but am not sure how to decide what is an acceptable value? Is it determined by your eye, or is there a formula to use? Or an acceptable range? Or a tool to test your monitor so you know how to balance?

This is then linear rendering?

Thanks or the thread, interesting stuff.


#13

A monitor will, by default, darken the image, so images have to be gamma-corrected (made brighter and less contrasty) in order to display properly, either in the display program, or by baking into the render (most renderers allow you to do this).

This means that if you’re painting a texture, you’re unconcsciously painting it non-linear because of the way the monitor’s presenting it to you.

So you have to apply an inverse-gamma correction to re-linearize the data before passing it to the renderer, as a renderer expects everything to be linear or the maths doesn’t work.

The same is true of plates for compositing.


#14

We get over it by hiding as much of this crap from your average TD as possible :slight_smile: Seems to be working pretty well these days


#15

I have been looking around in Photoshop, I can’t seem to find an inverse gamme correction plugin anywhere. Could it go by another name? I found some gamma tutorials on-line which mess with the levels, is that where I should be looking?

Don’t all monitors have different levels of darkness that need to be corrected? I noticed at work and home one of my 3D renderings look really good, but when I take them in to school to show the prof they appear super dark. So do I eyeball what gamma correction looks good, or is there a rule of thumb?


#16

Rule of thumb is 2.2 for pcs, 1.7 for macs, iirc.

There’s no ‘inverse gamma’ thing. You just use the gamma control in photoshop to apply a gamma of 0.454545… if you’re on a pc and 0.588234… if you’re on a mac (assuming that the numbers I mentioned above are correct).

Alternatively, most renderers nowadays have options to do this automatically for you at rendertime.

Of course, even if you do all this, there’s no accounting for how different random monitors everywhere else in the world will be calibrated…


#17

Well, I know roughly about linear workflow, but don’t understand it’s benefits clearly.

What do I get after going through gamma correction jazz and fixing issues with textures/normalmaps/selecting colors e.t.c. ?


#18

From what I understand it gives you richer, clearer details in the high and low end of your colors - the shadows and highlights.

Sort of like in Photography when you overexpose and underdevelop … overexpose the shadows and underdevelop the highlights, get detail everywhere.

Is this correct?


#19

Correct me if I’m wrong:
monitors can’t show linear space with full midtones. If no gamma-correction is applied to an image, it will look too saturated and dark.This may be the reason why so many renders look too saturated and contrasty, because people are unaware of gamma-correction and how to use it.
But why we don’t see pictures in photoshop etc with wrong output then? Because software like photoshop uses color profiles and applies gamma-correction (?). Or do the digital cameras apply gamma-correction when creating the images? :slight_smile:

Your monitor, when you are rendering something, shows you by default wrong output, because it cannot for some reason (maybe we just have bad monitors) :wink: show linear space with full midtones. So this is not “I use it because I like it”, or “I don’t like it, so I’m not gonna use it”. You should use it (be aware of it) always. Amazing that this very important subject is not explained in many beginner’s books.
What you are doing by applying gamma correction is you force your monitor to show you correct linear result, and that’s it. No magic here.

When you save your renders as 32-bit floating-point image, you save it without gamma correction, because you will apply it in post-processing that algorithms would work with linear space (I may be wrong about whether it works better with linear space).
Why this it not by default in rendering software? Maybe because it’s more clever to save renders are 32-bit floating images, so this is not needed in this case. But we still need to view while rendering the gamma-corrected result to view it correctly. It could be a switch button there damnit.
So one good way to see if your gamma is wrong, just save your rendered image as HDRI and open it in photoshop, and you will see whether it differs from what you see in your rendering viewer.
So what you should do:
save your rendered image as hdri and open in photoshop and see if it differs from what you see in your rendering viewer. If the HDRI looks washed-out in photoshop, then your gamma is wrong
find out where in your software gamma-correction is
use 2.2 gamma when you are rendering in 8-bit per channel image, it should look just as your HDRI verion in photoshop
use no gamma-correction (1.0) when you are rendering in 32-bit floating image, hdri or exr etc
there also an issue with bitmaps, maybe someone could explain it: what adjustments must be done to bitmap files? As fas as I know, some renderers do it automatically. I just use 2.2 for input and output for bitmaps, and it shows me what I see in photoshop. Would like to hear a better explanation.


#20

The simple way:

If you render on a “standard” computer monitor (i.e. an sRGB monitor which has a practical gamma of 2.2 on average) with no regard to gamma anywhere in your workflow (i.e. pretending the monitor has gamma=1, like unfortunately most software defaults to), then when you think you are making something twice as bright, you are actually making it almost 5 times as bright.

This makes even the most trivial math turn out completely wrong. Basically, your renders come out as if 2 + 2 = 10

This is why highlights blow out unrealistically, why reflections look wrong, why you can’t seem to be able to use physically correct lights with a quadratic falloff, and why you have to save everything in comp with a bunch of horrendous dirty tricks like “screening” your speculars back on (Yuk!).

wiki

/Z