diff options
| author | Graham Linden <graham@lindenlab.com> | 2013-07-24 04:03:27 -0700 |
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2013-07-24 04:03:27 -0700 |
| commit | e290dd3fa175c2a891cc4f4e0c401edb10cedfb4 (patch) | |
| tree | 2a542af707196211e78051cbb8a75a1a1583538d /indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | |
| parent | 72a0ae58e909b017c07e543bc99adc1db5e89180 (diff) | |
NORSPEC-311 make post deferred (alpha objects) respect same gamma ramp as deferred (opaque objects)
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/materialF.glsl')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index e028eef900..a46fbd9516 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -53,6 +53,11 @@ vec3 linear_to_srgb(vec3 cl) cs = { 1.055 * cl^0.41666 - 0.055, 0.0031308 <= cl < 1 { 1.0, cl >= 1*/ + cl = clamp(cl, vec3(0), vec3(1)); + + if ((cl.r+cl.g+cl.b) < 0.0031308) + return 12.92 * cl; + return 1.055 * pow(cl, vec3(0.41666)) - 0.055; } @@ -701,7 +706,7 @@ void main() col += spec_contrib; } - col = mix(col.rgb, old_diffcol.rgb, diffuse.a); + col = mix(col.rgb, diffcol.rgb, diffuse.a); if (envIntensity > 0.0) { @@ -754,7 +759,7 @@ void main() frag_color.a = al; #else - //final_color.rgb = vec3(1,0,1); + //final_color.rgb = old_diffcol.rgb; frag_data[0] = final_color; frag_data[1] = final_specular; // XYZ = Specular color. W = Specular exponent. frag_data[2] = final_normal; // XY = Normal. Z = Env. intensity. |
