SL-10449
Fix name of attenuation setter used. Fix flipped light vec. Make class3 lights use shadows on projector ambiance too.meow-7.2.2
parent
cdad939bbd
commit
edf8ba6e5f
|
|
@ -29,7 +29,7 @@ ATTRIBUTE vec3 position;
|
|||
|
||||
uniform vec2 screen_res;
|
||||
|
||||
void setAttenuation(vec3 c);
|
||||
void setAtmosAttenuation(vec3 c);
|
||||
void setAdditiveColor(vec3 c);
|
||||
|
||||
VARYING vec2 vary_fragcoord;
|
||||
|
|
@ -39,7 +39,7 @@ void main()
|
|||
vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0);
|
||||
gl_Position = pos;
|
||||
// appease OSX GLSL compiler/linker by touching all the varyings we said we would
|
||||
setAttenuation(vec3(1));
|
||||
setAtmosAttenuation(vec3(1));
|
||||
setAdditiveColor(vec3(0));
|
||||
vary_fragcoord = (pos.xy*0.5+0.5)*screen_res;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, floa
|
|||
da *= spot*spot; // GL_SPOT_EXPONENT=2
|
||||
|
||||
//angular attenuation
|
||||
da *= calcDirectionalLight(n, -lv);
|
||||
da *= calcDirectionalLight(n, lv);
|
||||
|
||||
return da;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ void main()
|
|||
//float diff = clamp((proj_range-proj_focus)/proj_range, 0.0, 1.0);
|
||||
vec4 amb_plcol = texture2DLodAmbient(projectionMap, proj_tc.xy, proj_lod);
|
||||
|
||||
amb_da += (da*da*0.5+0.5)*proj_ambiance;
|
||||
amb_da += (da*da*0.5+0.5)*(1.0-shadow)*proj_ambiance;
|
||||
|
||||
amb_da *= dist_atten * noise;
|
||||
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ void main()
|
|||
//float diff = clamp((proj_range-proj_focus)/proj_range, 0.0, 1.0);
|
||||
vec4 amb_plcol = texture2DLodAmbient(projectionMap, proj_tc.xy, proj_lod);
|
||||
|
||||
amb_da += (da*da*0.5+0.5)*proj_ambiance;
|
||||
amb_da += (da*da*0.5+0.5)*(1.0-shadow)*proj_ambiance;
|
||||
|
||||
amb_da *= dist_atten * noise;
|
||||
|
||||
|
|
@ -261,9 +261,6 @@ void main()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (envIntensity > 0.0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,10 +48,10 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color, vec4 baseLight)
|
|||
col.rgb += light_diffuse[5].rgb*calcPointLightOrSpotLight(pos.xyz, norm, light_position[5], light_direction[5], light_attenuation[5].x, light_attenuation[5].z);
|
||||
col.rgb += light_diffuse[6].rgb*calcPointLightOrSpotLight(pos.xyz, norm, light_position[6], light_direction[6], light_attenuation[6].x, light_attenuation[6].z);
|
||||
col.rgb += light_diffuse[7].rgb*calcPointLightOrSpotLight(pos.xyz, norm, light_position[7], light_direction[7], light_attenuation[7].x, light_attenuation[7].z);
|
||||
col.rgb += light_diffuse[1].rgb*calcDirectionalLight(norm, light_position[1].xyz);
|
||||
col.rgb += light_diffuse[1].rgb*calcDirectionalLight(norm, light_direction[1].xyz);
|
||||
|
||||
// Add windlight lights
|
||||
col.rgb += atmosAffectDirectionalLight(calcDirectionalLight(norm, light_position[0].xyz));
|
||||
col.rgb += atmosAffectDirectionalLight(calcDirectionalLight(norm, light_direction[0].xyz));
|
||||
col.rgb += atmosAmbient(baseLight.rgb);
|
||||
|
||||
col.rgb = min(col.rgb*color.rgb, 1.0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue