Testing gamma correction.

albedo diffuse texture needs a power of 2.2 to translate it into linear
space, since normal texture file format such as jpg png are all sRGB color
space which has 1/2.2 gamma encoded(in gamma space) already.

Then lighting can be correctly calculated in linear space.

Note that, the depth and normal texture should be in linear space already, because they are generated in the OpenGL. Although, normal map could be authored in
external program like photoshop, as long as we make sure everything is in
linear space before doing colour computation, it is alwasy ok.

Once final colour is correctly calculated(still in linear space), we need
to switch back to gamma space by applying the power of 1/2.2 to the final
colour. So that it can compensate the monitor's 2.2 display curve.