diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred')
3 files changed, 22 insertions, 13 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl index ac8393edf8..7c58749929 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl @@ -35,7 +35,7 @@ out vec4 frag_color;  #define frag_color gl_FragColor  #endif -#if (INDEX_MODE != INDEXED) +#if USE_DIFFUSE_TEX  uniform sampler2D diffuseMap;  #endif @@ -52,7 +52,7 @@ VARYING vec3 vary_pointlight_col;  VARYING vec2 vary_texcoord0;  VARYING vec3 vary_norm; -#if (INDEX_MODE != NON_INDEXED_NO_COLOR) +#if USE_VERTEX_COLOR  VARYING vec4 vertex_color;  #endif @@ -104,16 +104,18 @@ void main()  	vec4 pos = vec4(vary_position, 1.0); -#if (INDEX_MODE == INDEXED) +#if USE_INDEXED_TEX  	vec4 diff = diffuseLookup(vary_texcoord0.xy);  #else  	vec4 diff = texture2D(diffuseMap,vary_texcoord0.xy);  #endif +  	diff.rgb = pow(diff.rgb, vec3(2.2)); -#if (INDEX_MODE == NON_INDEXED_NO_COLOR) -	float vertex_color_alpha = 1.0; + +#if USE_VERTEX_COLOR +	float vertex_color_alpha = vertex_color.a;	  #else -	float vertex_color_alpha = vertex_color.a; +	float vertex_color_alpha = 1.0;  #endif  	vec3 normal = vary_norm;  diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl index 141a817991..b8d43c0586 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl @@ -34,13 +34,17 @@ uniform mat4 modelview_matrix;  uniform mat4 modelview_projection_matrix;  ATTRIBUTE vec3 position; -#if (INDEX_MODE == INDEXED) + +#if USE_INDEXED_TEX  void passTextureIndex();  #endif +  ATTRIBUTE vec3 normal; -#if (INDEX_MODE != NON_INDEXED_NO_COLOR) + +#if USE_VERTEX_COLOR  ATTRIBUTE vec4 diffuse_color;  #endif +  ATTRIBUTE vec2 texcoord0;  #if HAS_SKIN @@ -65,7 +69,7 @@ VARYING vec3 vary_fragcoord;  VARYING vec3 vary_position;  VARYING vec3 vary_pointlight_col; -#if INDEX_MODE != NON_INDEXED_NO_COLOR +#if USE_VERTEX_COLOR  VARYING vec4 vertex_color;  #endif @@ -158,7 +162,7 @@ void main()  #endif -#if (INDEX_MODE == INDEXED) +#if USE_INDEXED_TEX  	passTextureIndex();  	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  #else @@ -170,9 +174,10 @@ void main()  	calcAtmospherics(pos.xyz); -#if (INDEX_MODE == NON_INDEXED_NO_COLOR) +#if !USE_VERTEX_COLOR  	vec4 diffuse_color = vec4(1,1,1,1);  #endif +  	//vec4 color = calcLighting(pos.xyz, norm, diffuse_color, vec4(0.));  	vec4 col = vec4(0.0, 0.0, 0.0, diffuse_color.a); @@ -188,7 +193,8 @@ void main()  	vary_directional.rgb = atmosAffectDirectionalLight(1.0f);  	col.rgb = col.rgb*diffuse_color.rgb; -#if (INDEX_MODE != NON_INDEXED_NO_COLOR) + +#if USE_VERTEX_COLOR  	vertex_color = col;  #endif diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index 43848761b3..7752189e1d 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -607,7 +607,7 @@ void main()  	vec3 npos = normalize(-pos.xyz);   #define LIGHT_LOOP(i) \ -	frag_color.rgb = frag_color.rgb + calcPointLightOrSpotLight(light_diffuse[i].rgb, npos, diffuse.rgb, final_specular, pos.xyz, norm.xyz, light_position[i], light_direction[i].xyz, light_attenuation[i].x, light_attenuation[i].y, light_attenuation[i].z); +	col.rgb = col.rgb + calcPointLightOrSpotLight(light_diffuse[i].rgb, npos, diffuse.rgb, final_specular, pos.xyz, norm.xyz, light_position[i], light_direction[i].xyz, light_attenuation[i].x, light_attenuation[i].y, light_attenuation[i].z);  	LIGHT_LOOP(1)  	LIGHT_LOOP(2) @@ -617,6 +617,7 @@ void main()  	LIGHT_LOOP(6)  	LIGHT_LOOP(7) +	frag_color.rgb = col.rgb;  	frag_color.a = diffcol.a*vertex_color.a;  #else | 
