Forum: Poser - OFFICIAL


Subject: Chrystalline Hair query?

ObscuroArcanum opened this issue on Oct 14, 2011 · 82 posts


bagginsbill posted Fri, 14 October 2011 at 12:42 PM

First thing when doing GC comparisons is to get your lighting to stop being involved.

Here's what I'm talking about.

Enabling GC with gamma = X in render settings does the following things:

  1. For every image that does not have it's own explicit gamma value and is a low dynamic range (LDR) image, it assigns gamma = X. HDR images with no explicit gamma are assigned gamma = 1. No explicit gamma means that the checkbox for "Use render gamma" is enabled for that image. Images are all images - even IBL images inside lights.

  2. Every color chip in the shader system is assigned gamma = X. This includes the colors in every kind of node. Light colors are in a node, so this means light colors get a gamma as well.

When gamma is active, only eight colors are unaffected. All other colors are affected. The eight colors that are not affected (will not change with gamma enabled or disabled) are:

Black 0, 0, 0

White 255, 255, 255

Red 255, 0, 0

Green 0, 255, 0

Blue 0, 0, 255

Cyan 0, 255, 255

Magenta 255, 0, 255

Yellow 255, 255, 0

White 255, 255, 255

OK so far?

Now every color chip (lights, materials, atmosphere - everywhere) and every image is anti-gamma corrected by

x ^ gamma

For those images where gamma = 1 (either explicitly or implicitly) this does nothing. Otherwise if the image has any color in it besides the eight I listed, it is modified. Any color chips besides the eight I listed are modified.

The pixel color of a render pixel is calculated.

The final output color is gamma corrected by the formula:

x ^ (1 / gamma)

For gamma = 1, this does nothing.

For gamma = 2.2, this does

X = x ^ (1 / 2.2)

I'm using upper case X to mean the value stored in the render, and lower case x to mean the correct color in linear color space.

Then when this is displayed on a monitor with a standard gamma of 2.2, the monitor applies its gamma

X ^ 2.2

Put back the render expression for X and you get

x ^ (1 / 2.2) ^ 2.2

which is

x ^ (2.2 / 2.2)

same as

x ^ 1

same as

x

In other words, the final gamma correction is how you cause the correct color to appear on your monitor. If you don't do that, you get a different color, unless it happens to be one of the eight pure colors I listed.


So we want to stop dealing with gamma in lights and materials and final render because it is confusing to be changing so many things at once. People say they did not change anything but the render gamma. Well that means you changed 100 things.

 

So here's your simple rule for the time being.

Your light color must be WHITE - RGB 255, 255, 255.

Anything else and you're going to be chasing dreams.


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)