summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mathias Agopian <mathias@google.com> 2009-06-02 22:51:09 -0700
committer Mathias Agopian <mathias@google.com> 2009-06-02 22:51:09 -0700
commit7c7dface993a66778c506179ae11cadd6a88f7b1 (patch)
treee94560a144f32364df9910d0a154aa66450fa319
parentb42e1ff65ae44a0873959c5defe3ba4826109490 (diff)
fix a bug in GL lighting where the specular component could be ommited when vertex material was disabled.
the specular enable flag wasn't computed in that case.
-rw-r--r--opengl/libagl/light.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/opengl/libagl/light.cpp b/opengl/libagl/light.cpp
index 25c41d0c5b9d..bc9449c0bdef 100644
--- a/opengl/libagl/light.cpp
+++ b/opengl/libagl/light.cpp
@@ -318,6 +318,11 @@ void lightVertexMaterial(ogles_context_t* c, vertex_t* v)
vmul3(l.implicitAmbient.v, material.ambient.v, l.ambient.v);
vmul3(l.implicitDiffuse.v, material.diffuse.v, l.diffuse.v);
vmul3(l.implicitSpecular.v, material.specular.v, l.specular.v);
+ // this is just a flag to tell if we have a specular component
+ l.implicitSpecular.v[3] =
+ l.implicitSpecular.r |
+ l.implicitSpecular.g |
+ l.implicitSpecular.b;
}
// emission and ambient for the whole scene
vmla3( c->lighting.implicitSceneEmissionAndAmbient.v,