diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1')
7 files changed, 19 insertions, 8 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl index dd87ddb330..ef04ef5ce6 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl @@ -59,6 +59,7 @@ void main()  	vec4 pos = vec4(vary_position, 1.0);  	vec4 diff= diffuseLookup(vary_texcoord0.xy); +	diff.rgb = pow(diff.rgb, vec3(2.2));  	vec4 col = vec4(vary_ambient + vary_directional.rgb, vertex_color.a);  	vec4 color = diff * col; diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl index 36433a5827..b6a9417fe7 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl @@ -43,6 +43,7 @@ void main()  	float shadow = 1.0;  	vec4 color = diffuseLookup(vary_texcoord0.xy)*vertex_color; +	color.rgb = pow(color.rgb, vec3(2.2));  	color.rgb = fullbrightAtmosTransport(color.rgb); diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl index 6e5ac8317b..fa1572e692 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl @@ -108,6 +108,7 @@ void main()  	if (spec.a > 0.0)  	{  		float sa = dot(normalize(lv-normalize(pos)),norm); +		spec.rgb += pow(1 - dot(-normalize(pos), norm), 2) * da * 3;  		if (sa > 0.0)  		{  			sa = texture2D(lightFunc, vec2(sa, spec.a)).r * min(dist_atten*4.0, 1.0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl index bf362e21a4..3f57b006cd 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl @@ -37,6 +37,7 @@ uniform mat4 inv_proj;  uniform vec2 screen_res;  uniform float max_cof;  uniform float res_scale; +uniform float global_gamma;  VARYING vec2 vary_fragcoord; @@ -123,6 +124,6 @@ void main()  		diff /= w;  	} -		 +	diff.rgb = pow(diff.rgb, vec3(1.0/global_gamma));  	frag_color = diff;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl index eb5beeef39..c891c4e445 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredNoDoFF.glsl @@ -35,12 +35,13 @@ uniform sampler2DRect diffuseRect;  uniform sampler2D bloomMap;  uniform vec2 screen_res; +uniform float global_gamma;  VARYING vec2 vary_fragcoord;  void main()   {  	vec4 diff = texture2DRect(diffuseRect, vary_fragcoord.xy); -	 +	diff.rgb = pow(diff.rgb, vec3(1.0/global_gamma));  	vec4 bloom = texture2D(bloomMap, vary_fragcoord.xy/screen_res);  	frag_color = diff + bloom;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl index 14eaafeb68..87cdf1026f 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl @@ -77,6 +77,11 @@ vec3 vary_AtmosAttenuation;  uniform mat4 inv_proj;  uniform vec2 screen_res; +vec3 samplesRGB(vec3 color) +{ +	return pow(color, vec3(2.2)); +} +  vec4 getPosition_d(vec2 pos_screen, float depth)  {  	vec2 sc = pos_screen.xy*2.0; @@ -101,22 +106,21 @@ vec3 getPositionEye()  }  vec3 getSunlitColor()  { -	return vary_SunlitColor; +	return samplesRGB(vary_SunlitColor) * 4.4;  }  vec3 getAmblitColor()  { -	return vary_AmblitColor; +	return samplesRGB((vary_AmblitColor)) * 2.2;  }  vec3 getAdditiveColor()  { -	return vary_AdditiveColor; +	return samplesRGB(vary_AdditiveColor) * 2.2;  }  vec3 getAtmosAttenuation()  {  	return vary_AtmosAttenuation;  } -  void setPositionEye(vec3 v)  {  	vary_PositionEye = v; @@ -310,7 +314,7 @@ void main()  			//add environmentmap  			vec3 env_vec = env_mat * refnormpersp; -			col = mix(col.rgb, textureCube(environmentMap, env_vec).rgb,  +			col = mix(col.rgb, samplesRGB(textureCube(environmentMap, env_vec).rgb) * 2.2,   				max(spec.a-diffuse.a*2.0, 0.0));   		} diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightAlphaMaskF.glsl index 6c34643aab..9543be562b 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightAlphaMaskF.glsl @@ -37,6 +37,8 @@ vec3 fullbrightScaleSoftClip(vec3 light);  VARYING vec4 vertex_color;  VARYING vec2 vary_texcoord0; +uniform float texture_gamma; +  void fullbright_lighting()  {  	vec4 color = diffuseLookup(vary_texcoord0.xy) * vertex_color; @@ -45,7 +47,7 @@ void fullbright_lighting()  	{  		discard;  	} - +	color.rgb = pow(color.rgb, vec3(texture_gamma));  	color.rgb = fullbrightAtmosTransport(color.rgb);  	color.rgb = fullbrightScaleSoftClip(color.rgb);  | 
