diff options
| author | Graham Linden <graham@lindenlab.com> | 2019-01-30 10:38:41 -0800 | 
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2019-01-30 10:38:41 -0800 | 
| commit | bd25688867d824a3c21ffce93d689bb30e4ba803 (patch) | |
| tree | 7e6cfed929e76b25d8ca8f69e9b45b5f1a442f08 | |
| parent | 12cd42221e16b8bbcd0ad115e0436b075d47d485 (diff) | |
SL-9996
Force frag depth in water shaders to avoid z-fighting at back edge of water edge pieces.
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/waterF.glsl | 5 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/environment/waterF.glsl | 2 | 
2 files changed, 6 insertions, 1 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl index ceadb9fb67..d9ae37fbfa 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl @@ -167,7 +167,10 @@ void main()  	color.a   = spec * sunAngle2;  	vec3 screenspacewavef = normalize((norm_mat*vec4(wavef, 1.0)).xyz); -	 + +    // force frag depth which doesn't z-fight +    gl_FragDepth = 0.99999f;	 +  	frag_data[0] = vec4(color.rgb, color); // diffuse  	frag_data[1] = vec4(0);		// speccolor, spec  	frag_data[2] = vec4(encode_normal(screenspacewavef.xyz*0.5+0.5), 0.05, 0);// normalxy, 0, 0 diff --git a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl index 19158f4505..c4b3684141 100644 --- a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl @@ -157,5 +157,7 @@ void main()  	color.rgb = scaleSoftClip(color.rgb);  	color.a = spec * sunAngle2; +    // force frag depth to fix z-fighting at back edge of water edge pieces +    gl_FragDepth = 0.99999;  	frag_color = color;  } | 
