diff --git a/Effects/surface-lights.eff b/Effects/surface-lights.eff index f10c0065a..7603f6c2d 100644 --- a/Effects/surface-lights.eff +++ b/Effects/surface-lights.eff @@ -50,10 +50,10 @@ false - + directional point diff --git a/Shaders/surface-light-lightfield.frag b/Shaders/surface-light-lightfield.frag index 717e2b8c2..04e46173b 100644 --- a/Shaders/surface-light-lightfield.frag +++ b/Shaders/surface-light-lightfield.frag @@ -7,6 +7,7 @@ uniform float avisibility; uniform float hazeLayerAltitude; uniform float eye_alt; uniform float terminator; +uniform float size; varying vec3 relPos; varying vec2 rawPos; @@ -140,8 +141,9 @@ void main() transmission = fog_func(transmission_arg); float lightArg = terminator/100000.0; - float attenuationScale = 1.0 + 3.0 * (1.0 -smoothstep(-15.0, 0.0, lightArg)); - float dist_att = exp(-0.3/attenuationScale/pixelSize); + float attenuationScale = 1.0 + 20.0 * (1.0 -smoothstep(-15.0, 0.0, lightArg)); + //float dist_att = exp(-100.0/attenuationScale/size); + float dist_att = exp(-dist/200.0/size/attenuationScale); //vec4 texel = texture2D(texture,gl_TexCoord[0].st); vec4 texel = light_sprite(gl_TexCoord[0].st,transmission, noise); diff --git a/Shaders/surface-light-lightfield.vert b/Shaders/surface-light-lightfield.vert index 43b6c2522..6d90cb8f0 100644 --- a/Shaders/surface-light-lightfield.vert +++ b/Shaders/surface-light-lightfield.vert @@ -20,7 +20,7 @@ void main() relPos = gl_Vertex.xyz - ep.xyz; rawPos = gl_Vertex.xy; float dist = length(relPos); - float lightScale = size * size * size * size * size / 1000.0; + float lightScale = size * size * size * size * size/ 500.0; pixelSize = min(size * size/25.0,lightScale/dist); gl_PointSize = 2.0 * pixelSize; }