Skip to content

Commit

Permalink
fix attenuation shader with spot lights
Browse files Browse the repository at this point in the history
  • Loading branch information
sinisterchipmunk committed Sep 22, 2012
1 parent ec359e0 commit 53a2ee5
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/assets/javascripts/shaders/attenuation/fragment.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ shared uniform float QuadraticAttenuation;
void main(void) {
if (PASS != 0) {
cache(float, LightDistanceFromSurface) { LightDistanceFromSurface = 1.0; }
cache(float, SpotAttenuation) { SpotAttenuation = 1.0; }

float multiplier = 1.0;
import(AttenuationMultiplier, multiplier *= AttenuationMultiplier);
Expand All @@ -18,6 +19,7 @@ void main(void) {
import(SkipAttenuation, skipAttenuation += SkipAttenuation);

if (skipAttenuation == 0)
multiplier *= SpotAttenuation;
gl_FragColor.rgb *= multiplier / (ConstantAttenuation +
LinearAttenuation * LightDistanceFromSurface +
QuadraticAttenuation * pow(LightDistanceFromSurface, 2.0));
Expand Down

0 comments on commit 53a2ee5

Please sign in to comment.