diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1')
3 files changed, 24 insertions, 0 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl index 77d02b36ff..247ee0a34f 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl @@ -86,6 +86,8 @@ uniform vec3 light_direction[8];  uniform vec3 light_attenuation[8];   uniform vec3 light_diffuse[8]; +uniform vec3 sun_dir; +  vec3 calcDirectionalLight(vec3 n, vec3 l)  {          float a = max(dot(n,l),0.0); @@ -194,6 +196,13 @@ void main()  	// Add windlight lights  	col.rgb = atmosAmbient(col.rgb); +	float ambient = min(abs(dot(norm.xyz, sun_dir.xyz)), 1.0); +	ambient *= 0.5; +	ambient *= ambient; +	ambient = (1.0-ambient); + +	col.rgb *= ambient; +  	vary_ambient = col.rgb*diff.rgb;  	vary_directional.rgb = atmosAffectDirectionalLight(1.0f); diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index 3c25f49fe0..fc4b8b33f8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -579,6 +579,14 @@ void main()            final_da = max(final_da, 0.0f);  	col.rgb = atmosAmbient(col); +	 +	float ambient = min(abs(dot(norm.xyz, sun_dir.xyz)), 1.0); +	ambient *= 0.5; +	ambient *= ambient; +	ambient = (1.0-ambient); + +	col.rgb *= ambient; +  	col.rgb = col.rgb + atmosAffectDirectionalLight(final_da * 2.6);  	col.rgb *= diffuse.rgb; diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl index a1dff9188f..9197df2628 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl @@ -301,6 +301,13 @@ void main()  		calcAtmospherics(pos.xyz, 1.0);  		col = atmosAmbient(vec3(0)); +		float ambient = min(abs(dot(norm.xyz, sun_dir.xyz)), 1.0); +		ambient *= 0.5; +		ambient *= ambient; +		ambient = (1.0-ambient); + +		col.rgb *= ambient; +  		col += atmosAffectDirectionalLight(max(min(da, 1.0) * 2.6, diffuse.a));  		col *= diffuse.rgb; | 
