Forum: Poser - OFFICIAL


Subject: What's the big deal with gamma correction?

inklaire opened this issue on May 23, 2010 · 242 posts


kobaltkween posted Wed, 26 May 2010 at 9:28 AM

just a few things that people seem to be misled about:

as far as i can tell, using Vray does not automatically make gamma correction unnecessary.  i've seen tons of yellow bloom and overly dark shadows in too bright ambient light renders posted by people saying they use Vray.

Tone Mapping does not do Gamma Correction.  it doesn't replace it.  it just does something else entirely.  you might like what it does, and you can get good results with it, but it's not GC.

CG is computer graphics, which we're all working with.  gamma correction is abbreviated as GC.

gamma correction is a very, very simple concept with lots of implications.  your textures are in sRGB space.  the colors you see on your screen are in sRGB space.  this includes the colors in your final render and  the colors in your color picker. your renderer makes linear mathematical calculations.  not just Poser's renderer, every renderer.   like 1 + 2 = 3.

gamma correction or linear workflow means translating the sRGB input into a linear form so that the linear calculations have input that makes sense, then translating the final calculation to sRGB so that the output makes sense to your digital display. 

regular workflow means you're feeding the renderer what to it is gibberish, then producing something that's gibberish to the screen.  even if you do decide to correct in photoshop, you already have gibberish from your sRGB input processed linearly.  and unless you've been very careful about lighting, which most aren't, you've already lost information to blow out and  shadows that are too dark.

if you notice, in a graphics app that doesn't apply its own correction as Photoshop can, if you take something at 50% opacity and overlay it with a duplicate of itself, you won't get  the color at 100% opacity.  in non-linear space 1 + 2 does not equal 3.  treating it as if it does is not "unrealistic."  it's simply incorrect.

can you tweak your lights and materials to make it not look like gibberish?  yes, and lots of  people do.  what you're basically doing then is translating between linear and sRGB space by hand and eyeballing it.  it's more work to do consistently than just using the correct math to translate, but people have done it for years.  once you've learned to make the gibberish look like you want, is it more work to change?  yes, but again, the issue is consistency.

i've seen lots of people who do one type of lighting without GC fairly well.  i've seen very few people do lots of different types of lighting well without GC, and again, that includes people who use Vray.  flipping it around, which is where it really counts, i have textures with shaders that compensate for not having GC, but they don't work well at all outside of a certain lighting range.

even with toons, most people expect light to behave like light.  just like, even when you write fantasy, you can't get away with people not acting like people.  most of what makes your average Poser render look just plain bad and poorly done is bad lighting, and a lot of that bad lighting is just due to the gibberish renderers produce without linear workflow.  most of "learning" to light is learning to compensate for lack of GI and GC.  get rid of that, and you can focus on how lighting should work in general.

can GC have a problem in low light?   it depends on your perspective.  if you look at my gallery, you can see 2 low light GC images.  i'd say they work very well, but at the same time, i wasn't satisfied.   because i kept saying something about it, bagginsbill checked and learned that a simple gamma curve isn't quite as accurate as a slightly more complex sRGB  equation that i use instead now.  in brighter results, it's almost identical, but in darker results (meaning dark from diffuse color, diffuse shading or cast shadow), i find the difference easy to distinguish.  his tests comparing GC to sRGB are here in the forums.  i have a 3rd image up i'd say was kind of low light, and it uses sRGB.  i prefer its reaction to lights.

did people start using GC and suggesting others do the same just because someone who knows both math and optics said so?  no.  if you read the threads, we asked questions, did our own research and tests, and saw major improvements.  i personally was working on my own skin shader at the time, and went from basically having to have two completely different shaders for different lighting extremes to having one that worked everywhere.  i like very white ambient scenes, and very dark, directional light scenes, and every time i took a skin shader i thought worked well and switched from one scene to another in tests, i had to drastically alter the shader. once i switched to linear workflow, that was no longer necessary and i could easily make materials that performed reliably regardless of the type of light.

tons of merchants use VSS PR3 because it makes their textures look better in more situations than their own shaders.  there are a lot of features built into VSS PR3, but GC is one of the more important ones.  another important one is conservation of energy, but that's another discussion.

does using GC change your ability to do postwork?  in my experience, it improves it.  i've been using Poser for years, and you can see lots of my work before i started using GC.  it's not bad.  but i know how much i had to do to get it to that point, and the problems i didn't like that i couldn't eliminate until i switched ot a linear workflow.  it's really easy for me to increase saturation.  i've literally never needed to (i have no problem getting uber saturated colors), but i could do that fairly easily.  changing shading on my whole image to something that worked the way i wanted it to at every shading level was really unpleasant, imho. 

do you personally have to use linear workflow?  of course not. 

i just did some research  taught myself a few different ways of modeling braids in Blender.  imho, they're all plodding and generally a bad practice.  i shouldn't be doing something that's really obviously a repetitive and mathematical task by hand.  it takes me a while and is prone to me making mistakes.  if i instead either find a script (which i haven't been able to do so far) or learn to write my own script, i would be using a computer as it's meant to be used.  that said, it would be a lot of work to begin scripting in Blender.  and i'd have to actually understand the math instead of having a sort of fuzzy idea.  lots of time, lots of effort.  so i'd have to have a very particular project in mind to make it worth it. 

the point being, even though there's lots of stuff it can be easier in the long run to let the computer handle, it still has to be broken to be worth fixing.