diff options
author | Brian Paul <brian.paul@tungstengraphics.com> | 2001-01-04 16:22:18 +0000 |
---|---|---|
committer | Brian Paul <brian.paul@tungstengraphics.com> | 2001-01-04 16:22:18 +0000 |
commit | f22c04cdaec47dfef1068af0e90822062478631b (patch) | |
tree | f768dd9675dec230bd13141f7ff48dfa6e2f2e8a | |
parent | 6517211e12c4f19c784b31727f6052561956fb7b (diff) |
added underflow check in validate_shine_table()
-rw-r--r-- | src/mesa/main/light.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c index 83a3095726..1eed79bc2a 100644 --- a/src/mesa/main/light.c +++ b/src/mesa/main/light.c @@ -1,4 +1,4 @@ -/* $Id: light.c,v 1.32 2001/01/02 22:02:51 brianp Exp $ */ +/* $Id: light.c,v 1.33 2001/01/04 16:22:18 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -1072,7 +1072,10 @@ static void validate_shine_table( GLcontext *ctx, GLuint i, GLfloat shininess ) } else { for (i = 1 ; i < SHINE_TABLE_SIZE ; i++) { - GLdouble t = pow(i / (GLfloat)(SHINE_TABLE_SIZE-1), shininess); + GLdouble t, x = i / (GLfloat) (SHINE_TABLE_SIZE - 1); + if (x < 0.005) /* underflow check */ + x = 0.005; + t = pow(x, shininess); if (t > 1e-20) m[i] = t; else |