diff options
| author | Graham Madarasz (Graham) <graham@lindenlab.com> | 2013-02-12 11:38:40 -0800 | 
|---|---|---|
| committer | Graham Madarasz (Graham) <graham@lindenlab.com> | 2013-02-12 11:38:40 -0800 | 
| commit | 85af4c7b7169a0ea38aad5d3759fd36b8ff021f4 (patch) | |
| tree | b3664c9e0ea1665ba89ba38fc24a8285cba54942 /indra/newview | |
| parent | 019c7566fb431a9bacfa6d1b778a3a7ec9f8fbf2 (diff) | |
For MAINT-576 fix water shader visual issues in non-deferred Review: DaveP
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/environment/waterV.glsl | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl index fec8906fd0..5aff156eae 100644 --- a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl +++ b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl @@ -28,6 +28,7 @@ uniform mat4 modelview_projection_matrix;  ATTRIBUTE vec3 position; +  void calcAtmospherics(vec3 inPositionEye);  uniform vec2 d1; @@ -48,35 +49,35 @@ float wave(vec2 v, float t, float f, vec2 d, float s)  void main()  {  	//transform vertex +	vec4 pos = vec4(position.xyz, 1.0);  	mat4 modelViewProj = modelview_projection_matrix;  	vec4 oPosition;  	//get view vector  	vec3 oEyeVec; -	oEyeVec.xyz = position.xyz-eyeVec; +	oEyeVec.xyz = pos.xyz-eyeVec;  	float d = length(oEyeVec.xy);  	float ld = min(d, 2560.0); -	vec3 lpos = position; -	lpos.xy = eyeVec.xy + oEyeVec.xy/d*ld; +	pos.xy = eyeVec.xy + oEyeVec.xy/d*ld;  	view.xyz = oEyeVec;  	d = clamp(ld/1536.0-0.5, 0.0, 1.0);	  	d *= d; -	oPosition = vec4(lpos, 1.0); +	oPosition = vec4(position, 1.0);  	oPosition.z = mix(oPosition.z, max(eyeVec.z*0.75, 0.0), d);  	oPosition = modelViewProj * oPosition; +	  	refCoord.xyz = oPosition.xyz + vec3(0,0,0.2);  	//get wave position parameter (create sweeping horizontal waves) -	vec3 v = lpos; +	vec3 v = pos.xyz;  	v.x += (cos(v.x*0.08/*+time*0.01*/)+sin(v.y*0.02))*6.0;  	//push position for further horizon effect. -	vec4 pos;  	pos.xyz = oEyeVec.xyz*(waterHeight/oEyeVec.z);  	pos.w = 1.0;  	pos = modelview_matrix*pos; | 
