summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2000-06-30 14:14:37 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2000-06-30 14:14:37 +0000
commit20df8f5f92d3c7f83fc2138ed67fe65b58648f23 (patch)
tree77318ffe976c458ada0fd2a9e48b02fa4ae59d86
parentfd9f740045f018ebde018ea073911faacdfb9f0f (diff)
NeedEyeCoords if non-uniform scale transform
-rw-r--r--src/mesa/main/state.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index cc598c029ef..8f52c9fe43a 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -1,4 +1,4 @@
-/* $Id: state.c,v 1.20 2000/06/27 04:33:59 brianp Exp $ */
+/* $Id: state.c,v 1.21 2000/06/30 14:14:37 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -1177,8 +1177,12 @@ void gl_update_state( GLcontext *ctx )
ctx->NeedEyeNormals = GL_FALSE;
if (ctx->Light.Enabled) {
- if ((ctx->Light.Flags & LIGHT_POSITIONAL) || ctx->Light.NeedVertices){
- /* Need length for attenuation or need angle for spotlights */
+ if ((ctx->Light.Flags & LIGHT_POSITIONAL) ||
+ ctx->Light.NeedVertices ||
+ !TEST_MAT_FLAGS( &ctx->ModelView, MAT_FLAGS_LENGTH_PRESERVING)) {
+ /* Need length for attenuation or need angle for spotlights
+ * or non-uniform scale matrix
+ */
ctx->NeedEyeCoords = GL_TRUE;
}
ctx->NeedEyeNormals = ctx->NeedEyeCoords;