diff options
Diffstat (limited to 'indra/newview/app_settings')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 16 | 
1 files changed, 11 insertions, 5 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index 10a9e3a5b4..c072d44e63 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -272,6 +272,7 @@ void main()  #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_EMISSIVE)      final_color.a = diffuse_linear.a; +    final_color.rgb *= 0.5;  #endif      final_color.a = max(final_color.a, emissive_brightness); @@ -297,13 +298,16 @@ void main()  	vec3 color = vec3(0.0);  	float al   = 0.0; -#ifdef HAS_SPECULAR_MAP -    if( emissive_brightness >= 1.0) +    if (emissive_brightness >= 1.0)      { +#ifdef HAS_SPECULAR_MAP          float ei = env_intensity*0.5 + 0.5;          final_normal = vec4(abnormal, ei, 0.0); -    } +  #endif +		color.rgb = final_color.rgb; +		al        = vertex_color.a; +    }      vec4 final_specular = spec; @@ -316,6 +320,7 @@ void main()  #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) +	if (emissive_brightness < 1.0)  	{  		//forward rendering, output just lit RGBA  		vec3 pos = vary_position; @@ -366,7 +371,8 @@ vec3 post_ambient = color.rgb;  vec3 post_sunlight = color.rgb; -		color.rgb *= diffuse_srgb.rgb; +		//color.rgb *= diffuse_srgb.rgb; +		color.rgb *= diffuse_linear.rgb; // SL-12006  vec3 post_diffuse = color.rgb; @@ -470,7 +476,7 @@ vec3 post_atmo = color.rgb;  		color.rgb = temp.rgb;  		al = temp.a;  #endif -	} +	} // !fullbright      frag_color.rgb = color.rgb;      frag_color.a   = al; | 
