Tone Correction

Tone and Gamma corrections

Illustrated above is an example of what Tone correction is about. The top image is a radiosity render of a kid's room as it came out of the renderer. Although it looks nice, the tones between lights and shadows are too contrasty with hot spots in the highlights and dark corners in the shadows and the colors are too saturated. The bottom image looks much better. The contrast between lights and shadows are better balanced and the colors look more natural. But this result cannot be obtained by adjusting lights in the scene. In fact, none of the lights in this scene were adjusted or modified in any ways. this result comes mainly from post processing the render to correct the tones and processing the textures in a tone-correction aware work environment.

Tone and Gamma correction is a very intricate issue. There is a fundamentally simple solution but because the issue is intricate, people don't usually inderstand it and don't want to apply it. Applying this simple solution, however, is one very important step toward getting realistic 3D renders. Every major studio knows that. They have lighting specialists that take care of that aspect for everybody working at every stage of producing a film and that includes FX and CG. But 3D CG artists are left to their own devices, trying to figure it by themselves.

There are a few rare tutorials about this issue on the web. Type "Linear workflow" in google to get a few samples. Invariably, they all seem to generate more questions than they answer. This is my experience too when I discussed the issue on the Hash Inc forum. So I tried to write this tutorial in a very systematic way, trying to answer the questions I saw in my discussions as I go.

It may be because the issue is so intricate to understand and even more intricate to explain that we don't see many discussion of Tone Correction on the web. But one thing is sure. Every 3D CG artist that possess that knowledge, have a huge edge over its competitors wether this advantage is used conciously or not. I suspect that most professional 3D CG artists have just learned the magic incantation, that is this simple solution I mentioned a few paragraph above, and just integrated it in their workflow without thinking about it and without even trying to understand it. They just learned the trick from their technical directors and they just do it.

Here to the right is a simple 3D CG scene. A few primitives and two lights. One yellowish light near the left side of the scene and one bluish light near the right side of the scene. The two lights have default settings with the normal inverse square attenuation. The top image represents the renderer output and the bottom image represents the same output corrected with a 2.2 gamma curve. The top image is usually what will be posted on the Internet.

As can be immediately observed, the gamma corrected render feels much more natural. We don't see as much hot spots in the scene and the lights extends much farther. Actually, the scene almost feels like if it was illuminated by some ambiance lights or ambiance occlusion. But it isn't. There are only two lights in both images.

Single 3D application users usually don't know about those tone or gamma correction issues and simply output renders without tone or gamma correcting them and then receive confusing feedbacks from their viewers. The usual approach to correcting the visually unrealistic defects in the render is to go back in the scene and add more lights to further illuminate dark spots and corners, lower light intensities and/or modify light attenuation property to get rid of illumination hot spots, correct the texture to reduce saturation and even render in passes to be able to control and balance individual rendered surface properties such as highlights and reflections in a post processing step. In the end, that represents a lot of work. Tone and Gamma correction is a much simpler solution.

Even though the solution is fundamentally simple, it gets complicated by the fact that a CG image is produced from several stages and each of those production stages need to take the gamma correction into account in a different way. And to add to those additional complexities, gamma correction nomenclature is oftentime confusing where the same number can have different meaning depending on the context.

This set of tutorial is an attempt to give to the indie CG animation producer, the knowledge to setup his own work pipeling so the end product matches the quality of large studios, at least regarding the lighting balance of the rendered frames.


I'm in this odd situation where I want to illustrate several concepts related to proper adjustement of the computer monitor. But the illustrations I need to use are, themselves, heavily dependent on the proper adjustment of your computer monitor. A sort of catch 22. If your monitor is not well adjusted, it is kind of like if I had to demonstrate the merrits of a HD display but I need to do that on a standard non-HD TV set. So in order to get the most out of this tutorial, your computer monitor should be at least adjusted with a gamma 2.2.

If you already know that your monitor is well calibrated with the standrad gamma 2.2 then just keep on reading. But if you don't know if your monitor is well adjusted then it probably isn't. The least you need to do is adjust the gamma of your monitor. The cheapest way to do this is to manually calibrate the monitor using one of several gamma checkers available on the internet. The easiest to use gamma checker is an all in one gamma and black level chart provided by Norman Koren. Use this gamma chart and adjust your monitor gamma with the graphics card Gamma slider found in the graphics card "Color Management" tab.