Applying tone correction to a 3D rendered scene
Here is a kid's room scene rendered using radiosity in Animation:Master. When using radiosity, it is not really possible to use linear attenuation on lights because this is not realistically plausible and the radiosity calculations assume that lights and textures are realistically plausible. There is only one light fixture in the center of the ceiling and the fixture holds 5 lights.
Things to observe are: 1) The general illumination of the room appears dark. 2) the light hot spot on the top of the bed's footboard.
Even though the scene appears generally dark, it would not be possible to increase light intensity without washing out the bed's footboard, the top of the chair's seat and the blinds.
But one easy way to solve the shade balance in this scene is to apply a gamma correction of 2.2 as demonstrated in the image to the right. Now the whole scene looks somewhat washed out.
It is possible to correct that somewhat and regain some punch in the contrasts by applying a less strong gamma correction. A gamma correction of 1.8, for example, would give shade balance between the non-corrected render and the gamma 2.2 corrected one, thus, adding more punch to the scene.
Note that whatever the gamma correction strength on this render, there is no way to regain some color from the hot spots in this scene, such as on the top of the bed's footboard, since the colors are burned by overexposure.
To correct the hot spots in this scene, the first step must be to decrease the exposure. Decreasing by one f-stop will do the job. Reducing by more than one f-stop is not usefull because it would be necessary to compress to much of the highlights in the scene afterward.
This is one step that cannot be performed from inside the paint application though. This is where saving the rendered file to OpenEXR format is usefull since it allows modifying the exposure at will when the image is loaded. In this case, one just need to select "-1" for exposure in the OpenEXR file open dialog.
If saving to OpenEXR is not an option, then the same effect may be achieved by reducing all the scene's lights intensities to half their normal intensities.
Whatever the method used, though, the file format should at least be 16-bits because the next tone correction operations are quite severe and 8-bits image file format will definitely not be enough and will produce all kind of banding artifacts especially in the dark part of the image.
The next operation consist in applying an f-curve designed to restore some of the original exposure but at the same time keep as much as possible of the highlights in the scene without creating hot spots. The top right portion of the curve does that. It flattens the highlights. This way, we get the dynamic range of a 9 f-stops scene into an 8 f-stops image data file.
The last operation consist of adding the 2.2 gamma correction.
This is very near the plain gamma corrected image but there are subtle differences in the shadows and mainly in the way the highlights are handled.
Note that the two steps, that is adding an f-curve correction and then a gamma correction could be combined into one single operation by designing a curve that is the result of both curves multiplied together. But this type of operation can also be simplified through action scripting. Keeping the f-curve separate from the gamma correction allows more flexibility when comes the time to tweak the resulting corrections.
|