Jump to content

  • Log In with Google      Sign In   
  • Create Account

#Actualskytiger

Posted 30 March 2013 - 01:52 PM

Trying to understand the full gamma pipeline from sRGB Texture to Human Brain



To simplify discussion I am using these terms:

LIGHTEN = gamma encode / correct = pow(linear, 1 / 2.2)

DARKEN = gamma decode = pow(linear, 2.2)

LINEAR = color data in color space where human perceives 50% as half way between 0% and 100%

LIGHT = gamma encoded color data
DARK = gamma decoded color data


The non-linear transfer functions in the pipeline are:


sRGB Gamma Encode = pow(linear, 1 / 2.2) // LIGHTEN

CRT Gamma Response = pow(corrected, 2.2) // DARKEN

Human Perception of Luminance = pow(luminance, 1 / 2.2) // LIGHTEN



The pipeline:

------------------------------------------------------------------------
ELEMENT                     CHANGE      STATE
------------------------------------------------------------------------
SRGB FILE                               LIGHT

GAMMA DECODING SAMPLER      DARKEN                      // sRGBTexture

LINEAR WORKSPACE                        LINEAR          // Interpolation and Blending

GAMMA CORRECTION            LIGHTEN                     // sRGBWrite

LIGHT LEAVING GPU                       LIGHT           // Gamma Corrected

LIGHT LEAVING CRT           DARKEN                      // CRT Gamma Response

LIGHT ENTERING EYE                      LINEAR          // Luminance

HUMAN PERCEPTION            LIGHTEN                     // We are sensitive to dark

BRAIN                                   LIGHT           // This should be LINEAR ...
------------------------------------------------------------------------

However I rearrange this pipeline I can't get LINEAR in both the BRAIN
and the LINEAR WORKSPACE



Here is another attempt:


------------------------------------------------------------------------
ELEMENT                     CHANGE      STATE
------------------------------------------------------------------------
SRGB FILE                               LINEAR

GAMMA DECODING SAMPLER      DARKEN                      // sRGBTexture

LINEAR WORKSPACE                        DARK            // THIS DOESN'T WORK NOW

GAMMA CORRECTION            LIGHTEN                     // sRGBWrite

LIGHT LEAVING GPU                       LINEAR          // Gamma Corrected

LIGHT LEAVING CRT           DARKEN                      // CRT Gamma Response

LIGHT ENTERING EYE                      DARK            // Luminance

HUMAN PERCEPTION            LIGHTEN                     // We are sensitive to dark

BRAIN                                   LINEAR          // This works!
------------------------------------------------------------------------


Can anybody illuminate things for me? Preferably gamma corrected ...

 


#1skytiger

Posted 30 March 2013 - 01:45 PM

Trying to understand the full gamma pipeline from sRGB Texture to Human Brain



To simplify discussion I am using these terms:

LIGHTEN = gamma encode / correct = pow(linear, 1 / 2.2)

DARKEN = gamma decode = pow(linear, 2.2)

LINEAR = color data in color space where human perceives 50% as half way between 0% and 100%

LIGHT = gamma encoded color data
DARK = gamma decoded color data


The non-linear transfer functions in the pipeline are:

sRGB Gamma Encode = pow(linear, 1 / 2.2) // LIGHTEN

CRT Gamma Response = pow(linear, 2.2) // DARKEN

Human Perception of Luminance = pow(linear, 1 / 2.2) // LIGHTEN



The pipeline:

------------------------------------------------------------------------
ELEMENT                     CHANGE      STATE
------------------------------------------------------------------------
SRGB FILE                               LIGHT

GAMMA DECODING SAMPLER      DARKEN                      // sRGBTexture

LINEAR WORKSPACE                        LINEAR          // Interpolation and Blending

GAMMA CORRECTION            LIGHTEN                     // sRGBWrite

LIGHT LEAVING GPU                       LIGHT           // Gamma Corrected

LIGHT LEAVING CRT           DARKEN                      // CRT Gamma Response

LIGHT ENTERING EYE                      LINEAR          // Luminance

HUMAN PERCEPTION            LIGHTEN                     // We are sensitive to dark

BRAIN                                   LIGHT           // This should be LINEAR ...
------------------------------------------------------------------------

However I rearrange this pipeline I can't get LINEAR in both the BRAIN
and the LINEAR WORKSPACE



Here is another attempt:


------------------------------------------------------------------------
ELEMENT                     CHANGE      STATE
------------------------------------------------------------------------
SRGB FILE                               LINEAR

GAMMA DECODING SAMPLER      DARKEN                      // sRGBTexture

LINEAR WORKSPACE                        DARK            // THIS DOESN'T WORK NOW

GAMMA CORRECTION            LIGHTEN                     // sRGBWrite

LIGHT LEAVING GPU                       LINEAR          // Gamma Corrected

LIGHT LEAVING CRT           DARKEN                      // CRT Gamma Response

LIGHT ENTERING EYE                      DARK            // Luminance

HUMAN PERCEPTION            LIGHTEN                     // We are sensitive to dark

BRAIN                                   LINEAR          // This works!
------------------------------------------------------------------------


Can anybody illuminate things for me? Preferably gamma corrected ...

 


PARTNERS