diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred')
10 files changed, 39 insertions, 21 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/SMAA.glsl b/indra/newview/app_settings/shaders/class1/deferred/SMAA.glsl index fdb77cce6e..60a8300352 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/SMAA.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/SMAA.glsl @@ -1351,6 +1351,10 @@ float4 SMAABlendingWeightCalculationPS(float2 texcoord,  //-----------------------------------------------------------------------------  // Neighborhood Blending Pixel Shader (Third Pass) +vec3 srgb_to_linear(vec3 cs); +vec4 srgb_to_linear4(vec4 cs); +vec3 linear_to_srgb(vec3 cl); +  float4 SMAANeighborhoodBlendingPS(float2 texcoord,                                    float4 offset,                                    SMAATexture2D(colorTex), @@ -1369,6 +1373,7 @@ float4 SMAANeighborhoodBlendingPS(float2 texcoord,      SMAA_BRANCH      if (dot(a, float4(1.0, 1.0, 1.0, 1.0)) < 1e-5) {          float4 color = SMAASampleLevelZero(colorTex, texcoord); +        color.rgb = srgb_to_linear(color.rgb);          #if SMAA_REPROJECTION          float2 velocity = SMAA_DECODE_VELOCITY(SMAASampleLevelZero(velocityTex, texcoord)); @@ -1377,6 +1382,8 @@ float4 SMAANeighborhoodBlendingPS(float2 texcoord,          color.a = sqrt(5.0 * length(velocity));          #endif +        color.rgb = linear_to_srgb(color.rgb); +          return color;      } else {          bool h = max(a.x, a.z) > max(a.y, a.w); // max(horizontal) > max(vertical) @@ -1393,8 +1400,15 @@ float4 SMAANeighborhoodBlendingPS(float2 texcoord,          // We exploit bilinear filtering to mix current pixel with the chosen          // neighbor: -        float4 color = blendingWeight.x * SMAASampleLevelZero(colorTex, blendingCoord.xy); -        color += blendingWeight.y * SMAASampleLevelZero(colorTex, blendingCoord.zw); +        //float4 color = blendingWeight.x * SMAASampleLevelZero(colorTex, blendingCoord.xy); +        //color += blendingWeight.y * SMAASampleLevelZero(colorTex, blendingCoord.zw); +        float4 color = SMAASampleLevelZero(colorTex, blendingCoord.xy); +        color.rgb = srgb_to_linear(color.rgb); +        color = blendingWeight.x * color; + +        float4 color2 = SMAASampleLevelZero(colorTex, blendingCoord.zw); +        color2.rgb = srgb_to_linear(color2.rgb); +        color += blendingWeight.y * color2;          #if SMAA_REPROJECTION          // Antialias velocity for proper reprojection in a later stage: @@ -1405,6 +1419,7 @@ float4 SMAANeighborhoodBlendingPS(float2 texcoord,          color.a = sqrt(5.0 * length(velocity));          #endif +        color.rgb = linear_to_srgb(color.rgb);          return color;      }  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl index f1e0295859..084a334346 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl @@ -23,7 +23,7 @@   * $/LicenseInfo$   */ -out vec4 frag_color; +//out vec4 frag_color;  uniform float minimum_alpha;  uniform sampler2D diffuseMap; @@ -49,5 +49,5 @@ void main()        }      } -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl index 18ce998cb6..5986e8e462 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl @@ -23,7 +23,7 @@   * $/LicenseInfo$   */ -out vec4 frag_color; +//out vec4 frag_color;  uniform float minimum_alpha; @@ -51,5 +51,5 @@ void main()        }      } -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl index 37dcbbd328..4396ae89a4 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl @@ -25,10 +25,10 @@  /*[EXTRA_CODE_HERE]*/ -out vec4 frag_color; +//out vec4 frag_color;  void main()  { -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl index dbaab9bbda..90d81ab6b2 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl @@ -23,7 +23,7 @@   * $/LicenseInfo$   */ -out vec4 frag_color; +//out vec4 frag_color;  uniform sampler2D diffuseMap; @@ -52,5 +52,5 @@ void main()          }      } -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl index 07a2218db2..2b314db51a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl @@ -23,7 +23,7 @@   * $/LicenseInfo$   */ -out vec4 frag_color; +//out vec4 frag_color;  uniform sampler2D diffuseMap; @@ -42,5 +42,5 @@ void main()          discard;      } -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl index f208ac746b..a37e970feb 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl @@ -25,7 +25,7 @@  /*[EXTRA_CODE_HERE]*/ -out vec4 frag_color; +//out vec4 frag_color;  in vec4 post_pos;  in float target_pos_x; @@ -59,5 +59,5 @@ void main()          }      } -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl index b55d769fd6..c4e4c4d051 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl @@ -23,9 +23,9 @@   * $/LicenseInfo$   */ -out vec4 frag_color; +//out vec4 frag_color;  void main()  { -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl index 6f7bd2bf3c..033c2f924a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl @@ -113,8 +113,8 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)      if (spos.z > -shadow_clip.w)      {          vec4 lpos; -        vec4 near_split = shadow_clip*-0.75; -        vec4 far_split = shadow_clip*-1.25; +        vec4 near_split = shadow_clip*-0.9; +        vec4 far_split = shadow_clip*-1.1;          vec4 transition_domain = near_split-far_split;          float weight = 0.0; @@ -131,7 +131,10 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen)                  shadow += contrib;                  weight += w;              } -            shadow += max((pos.z+shadow_clip.z)/(shadow_clip.z-shadow_clip.w)*2.0-1.0, 0.0); + +            //shadow += max( (pos.z+shadow_clip.z) / (shadow_clip.z-shadow_clip.w) * 2.0 - 1.0, 0.0); +            shadow += max( (pos.z+shadow_clip.z) / (shadow_clip.z-shadow_clip.w) * 1.0, 0.0); +            //shadow -= max(  (shadow_clip.z + pos.z) / (shadow_clip.z - shadow_clip.w) , 0.0);          }          if (spos.z < near_split.y && spos.z > far_split.z) diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl index 33a5efa45d..4579d4fbe0 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl @@ -26,7 +26,7 @@  /*[EXTRA_CODE_HERE]*/ -out vec4 frag_color; +//out vec4 frag_color;  uniform float minimum_alpha; @@ -43,5 +43,5 @@ void main()          discard;      } -    frag_color = vec4(1,1,1,1); +    //frag_color = vec4(1,1,1,1);  }  | 
