I’ve had a few discussions about gamma correction lately and if one thing is clear it is that this whole gamma correction is not clear to a lot of people so don’t feel bad.
For instance… if you are only using procedural textures and shaders (which obviously haven’t been photographed) in a scene, does this still require you to use a 0.45 gamma correction node in the compositor when working on your final image?
Yes. The reason for applying gamma correction to the final render is to correct lighting issues. Lighting issues that are corrected by the gamma correction are light attenuation with distance, light falloff at terminators and light and shadows superpositions. Simply think about the renderer as a virtual camera. By applying a gamma correction to your render, you are just replicating what digital camera do with the photos. Digital camera gamma correct their photos so you do the same thing. The gamma correction is, indeed, 0.45. Not 2.2.
Of course, since you apply a gamma correction to your final render, this means that all your textures must be gamma compensated as a consequence. In this case, the gamma compensation is 2.2. But you don’t just need to do that as a consequence. It happens that all colors that you see on your computer monitor are gamma corrected too. So, you should revert that gamma correction before using them in a renderer. Personally, I have setup an Excel spreadsheet where I can enter RGB values and get the corresponding gamma corrected values. That is a real pain to need to do that though.
The basic principle playing here is that the computer monitor is setup so a gamma corrected photo looks good on it. That means that if the colors you see in a photo look good, then any other colors that look good on that same monitor must be considered as being gamma corrected too because they live in the same color space (the monitor color space) as the gamma corrected photo. It does not matter if the color is part of a photo, a color selection dialog or a procedural texture.
But the reverse gamma corection on the textures and colors have another very important consequence when you are using rendering techniques such as radiosity or GI. When doing the GI calculations, all textures and colors are taken to mean reflectances. If you do not reverse gamma correct your textures and colors, then the GI render will look way too bright because the reflectances are all way too high and thus a lot more light is bouncing around than it should.
At the moment my workflow is to set up my materials/shaders and lighting so everything appears roughly how I want when I render. If I then turn on the compositor and use a 0.45 gamma correction everything is going to appear washed out. Should I be setting up my initial render with darker materials and lighting to compensate for the gamma correction?
Unfortunately, yes. That is what I do in Blender and frankly, I hate it. Until a linear workflow is integral part of Blender, you will need to work that way or forget about linear workflow altogether. It should not be the artist’s job to take care of all that stuff and reverse gamma correct the textures and procedural colors, etc. It should be the application that does the reverse gamma correction on the fly whenever a hypothetical “Linear Workflow” would be selected by the user. To be fair, Blender is not the only 3D application that cannot handle linear workflow properly. But that is quickly changing.
Also, if I have produced some ‘full render’ baked textures just from a material, will this texture require altering in photoshop/gimp the same way that a photo taken with a camera needs to be?
No. If you haven`t applied a gamma correction to the render, then you don’t need to reverse that gamma correction.