From f5e7e594e4adb420642ad6c8672de0092402e012 Mon Sep 17 00:00:00 2001 From: Kevin Shanahan Date: Sun, 3 Mar 2013 13:05:11 +1030 Subject: [PATCH] light: remove redundant ray trace in SingleLightFace Signed-off-by: Kevin Shanahan --- light/ltface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/light/ltface.c b/light/ltface.c index 90c0ad3b..a453f282 100644 --- a/light/ltface.c +++ b/light/ltface.c @@ -555,7 +555,8 @@ SingleLightFace(const entity_t *light, lightinfo_t * l, vec3_t ray; VectorSubtract(light->origin, surf, ray); - VectorNormalize(ray); + dist = VectorLength(ray); + VectorScale(ray, 1.0 / dist, ray); angle = DotProduct(ray, l->facenormal); if (light->spotlight) { vec_t falloff = DotProduct(light->spotvec, ray); @@ -568,7 +569,7 @@ SingleLightFace(const entity_t *light, lightinfo_t * l, continue; angle = (1.0 - scalecos) + scalecos * angle; - add = scaledLight(CastRay(light->origin, surf), light); + add = scaledLight(dist, light); add *= angle; lightsamp[c] += add; if (colored)