duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

simple-gamma.glsl (602B)


      1 /*
      2 [configuration]
      3 
      4 [OptionRangeFloat]
      5 GUIName = Gamma In
      6 OptionName = GAMMA_IN
      7 MinValue = 0.1
      8 MaxValue = 10.0
      9 StepAmount = 0.1
     10 DefaultValue = 2.2
     11 
     12 [OptionRangeFloat]
     13 GUIName = Gamma Out
     14 OptionName = GAMMA_OUT
     15 MinValue = 0.1
     16 MaxValue = 10.0
     17 StepAmount = 0.1
     18 DefaultValue = 2.2
     19 
     20 [/configuration]
     21 */
     22 
     23 void main()
     24 {
     25   float4 color = Sample();
     26   float gamma_in = GetOption(GAMMA_IN);
     27   float gamma_out = 1.0f / GetOption(GAMMA_OUT);
     28 
     29   color.rgb = pow(color.rgb, float3(gamma_in, gamma_in, gamma_in));
     30   color.rgb = pow(color.rgb, float3(gamma_out, gamma_out, gamma_out));
     31 
     32   SetOutput(saturate(color));
     33 }