bagginsbill opened this issue on Feb 01, 2009 · 207 posts
bagginsbill posted Mon, 02 February 2009 at 5:34 PM
Attached Link: http://en.wikipedia.org/wiki/Gamma_correction
It's just a matter of how brightness is represented in a display device. A perfectly calibrated monitor emits a certain amount of light (in each of red, green, and blue) based on a number we put in each pixel color component.There are two common systems for talking about these values. The fractional system, i.e. 0 to 1 in fractions of a whole. As in 1 = as bright as is possible, and 0 = no light emitted whatsoever. Levels in bewteen are numbers such as .125, .38435, .98483. The bigger the number, the brighter it is. The other common representation is integers from 0 (nothing) to 255 (maximum).
[[
Why 255? If you don't care, skip this. Most computer displays are set up using 8-bit integers for each color component. Using 8-bit binary numbers, the largest value is 2 to 8th power minus 1, which is 255.
Conversions between the two are straightforward. For example, .3 * 255 = 76.5 - rounding up the value is 77. To go the other way, divide by 255. For example, 150/255 = .588 approximately.
]]
These things have nothing to do with gamma correction - I'm just giving you an intro.
Now the question is, what does .5 mean on your computer screen. Is that half of the maximum? The answer is no. There's a lot to why, but basically just accept it. To get half as bright as the maximum, the correct fraction is not .5, but rather .73.
Prior to Poser Pro, Poser did not generate numbers like this properly representing fractions of maximum brightness adjusted for your computer display. Instead, it uses straight linear values.
For example, suppose you render something with a Poser light at 90% intensity, and the value produced in the image is .7. Suppose you then cut your light intensity in half, to 45%. What value will Poser render now? It will render .35, half of .7. That is linear intensity scaling.
But your screen doesn't work that way. The value .7 looks like about 46% of maximum brightness, not 70%. And the value .35 looks not at all like 35% of maximum brightness. It actually looks like 1% of maximum, which is to say basically invisible.
To find out what a given fraction x actually looks like, you take the fractional value and raise it to the power 2.2.
The only values that are the same in linear color space and sRGB (monitor) color space are the values 0% and 100%. (Completely off, and completely on at maximum)
All other in-between values are not the same. They must be converted in order to make sense. It is a little bit like temperature scales. Between Fahrenheit and Celsius, there is only one value that means the same thing in both. That value is -40. The temperature -40 means the same in either system. But all other temperatures are represented by different numbers. A 0 in Celsius is 32 in Fahrenheit.
To deal with this, we need the render to be pre-compensated. Meaning, if the render is trying to produce a brightness of 60%, for example, we need to find out what value to put in the image that, after the monitor darkens it, comes out to 60%. That value is called a gamma corrected value. To produce 60% brightness, you need to use .6 to the 1/2.2 power, which is actually .793.
That is for a gamma of 2.2. But some Mac computers are set up at 1.8 - so to see them right you'd need a gamma correction of only 1.8, not 2.2.
This is why many nice looking MAC images look dark on a PC, and many nice looking PC images look extra bright on a MAC. (This was a little marketing ploy by Apple - people think pictures look nicer on a MAC because they are brighter. Basically the MAC applies some gamma correction (1.4) automatically, causing most photos to look extra bright and sparkly.)
Poser Pro has finally acknowledged this in the rendering process. If you don't have Poser Pro, you have to either correct your numbers in postwork, or set up shaders to do it, or use a device in your render I call a gamma correcting lens.
I don't care what you preference is for technique, I just want to see pictures accurately shown on a computer screen. And you should, as well.
It matters, because there are a boatload of people who think lighting in Poser is difficult. It is not difficult. It is actually pretty easy, if you were to actually convert your final image to the right data representation for viewing on a computer screen. The linear format produced by Poser is mathematically correct, but not actually ready to look at on your screen.
It is unfortunate that linear format and sRGB format look sort of similar. In both, bigger numbers are brighter than smaller numbers. In both, equal amounts of red, green, and blue produce a shade of gray, but the actual brightness of that gray is different between the two systems. Our willingness to dismiss the relative ugliness of Poser renders is entirely a result of the unfortunate similarity between the two systems. Had they been more wildly different, nobody would have ever put up with the incorrect representation of brightness produced by displaying linear images on a computer screen.
PS: I corrected a bunch of spelling errors but there's probably a lot more in my post. Sorry.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)