Gamma correction


(cmwck) #1

Since I’m on a PC with no system wide gamma correction, should I be using the Fbuf button along with the Gamma slider in the Post Process button for all my renders? Is Blender taking gamma distortion into account when it renders images? I see a separate button called Gamma (next to the Border button), but toggeling it on and off doesn’t seem to do anything.

-C.


(j) #2

Are you making something to be outputted to a TV ?
If you are then the gamma matters, otherwise in my opinion it does not,
unless image or animation has bad lighting.
If you are making an animation to be outputted to tv here are few advices
, some are not absolutely correct.
No one pixel lines, those jagger during playback.
No absolute black or white. White instead of 255,255,255 to 245,245,245
rgb values and black to 10,10,10.
Often editing programs do the conversion of images to fields so it does not nesessarily have to be done when setting up rendering settings.
If you got a photoshop you can do gamma correction by adjusting levels,
and for animation use actions and batch and in that manner you can
have sort of a image to tv image process that is automatic, for this a tga
image sequence would work well.
I might be far of from answering your question, but at least here are few advices to some/somebody hopefully.


(cmwck) #3

I take it from your reply that Blender does not do any gamma correction automatically unless you tell it to. But since you say that I should gamma correct my renders for TV output, why shouldn’t I have to also gamma correct my renders for output to a computer monitor? They’re both cathode ray tubes, thus both require the input signal to be adjusted according to the device’s gamma curve. i.e., if Blender calculates that a certain pixel should have a value of [127,127,127] (50% gray), then when that value is displayed on your computer monitor, it will actually have a brightness value of something like 30%, thus the original pixel should be adjusted to, say, [150,150,150]. Right?

p.s. I still can’t figure out what the Gamma button in the rendering window does.


(Fligh) #4

See what the manual says about it here:

http://download.blender.org/documentation/htmlII/x7775.html

%<


(cmwck) #5

I tried where it says “To see this difference, render a “Shadeless” white plane with OSA - and with and without “Gamma”.”, but saw no difference in the final rendering. Is this button broken or something?


(phlip) #6

Your video card does corrections for you which the TV does not. Hence the disparity.


(cmwck) #7

Your video card does corrections for you which the TV does not. Hence the disparity.[/quote]

I thought PCs don’t do gamma correction of any kind. Im on a PC with an ATI video card, and I have the video card’s gamma set to 1.0 (in the driver control panel), i.e. no gamma correction. I understand Macs have a system-wide gamma correction of 1.7 or so. Are you saying there’s additional gamma corrections on my PC that I don’t know about? You know what, I’m buying an LCD so I don’t have to worry about gamma :slight_smile:


(phlip) #8

Hmm… maybe I’m mistaken.

But I’m pretty sure I read somewhere that there’s an extra gamma correction in there somewhere in the computer pipeline that isn’t there on a TV, or vice versa.

[edit] According to the almighty Wikipedia, the gamma of a computer CRT is 2.5, but that of NTSC TV is 2.2


(EricR) #9

Your eyes are not linear sensors. They perceive much smaller differences in dark/low luminance areas and in light/high luminance the differences must be much greater for us to perceive a difference. By a happy coincidence the phosphor in a CRT works the opposite way in that an incremental change in voltage has a much bigger effect on output luminance at the bright end of its range than in the light end of the range. The response curve of voltage in to luminance is called the gamma and is governed by the following formula:

I~Vs^(y)

Where I is light intensity in the range 0-1.
Vs is input voltage in the range of 0-1.
y (actually the Greek character gamma) is the gamma

In notations of color space luminance (linear light output) is denoted as a Y and the luma or gamma adjusted light output is denoted by Y’. In the RGB space R,G and B represent the luminance of each of there respective primaries and R’,G’ and B’ represent the luma of each primary. It should also be noted that the correct notation and terminology is rarely used making color space and color theory very confusing.

Great, what does this mean to me?

The net result is that all immage formats, except a few very special ones, have a gamma correction built in. The idea is that in the 8 bit per primary color space the difference between 0 and 1 should be perceived as the same change as 254 to 255.

It is also a form of perceptually lossless compression. A voltage range that is divided into 255 even steps (Represented by 8 bits) that has a gamma of 2.2 would take 16384 even steps (14 bits) linearly represented to have the same perceptual luminance resolution.

Blender Gamma Correction
I have not looked into it but I would guess it is an adjustment over its default gamma.

Preparing content for TV.
TV in the US uses 2 different color spaces IUT-BT.601 for NTSC and IUT-BT.709 for ATSC. Each one of these color spaces defines a white point/color temperature, gamma and formula to convert from the Y’UV to R’G’B’. The Y’ Value ranges for 16 to 235 and the U and V range for 16 to 240. When you produce you final output you need to be sure that the color conversion formula is set up to take as an input R’G’B’ values in the range of 0 to 255 and output Y’ form 16 to 235 and U,V form 16 to 240. While it is possible in NTSC to have values of Y’ less than 16 these values are considered blacker than black and are only useful in test signals.

I use and would recommend AVISynth http://www.avisynth.org/ as a frame server to my encoder applications.