libagl: Transform the vertex if using eye space lighting with point lights
This fixes lighting when using point lights, when eye space lighting is used (which is the default). Change-Id: I0cd0d2329893d6b5f8af3b1e595274c2076fc322
This commit is contained in:
parent
db1597a989
commit
d5b1cda91e
@ -381,7 +381,14 @@ void lightVertex(ogles_context_t* c, vertex_t* v)
|
||||
// compute vertex-to-light vector
|
||||
if (ggl_unlikely(l.position.w)) {
|
||||
// lightPos/1.0 - vertex/vertex.w == lightPos*vertex.w - vertex
|
||||
#if !OBJECT_SPACE_LIGHTING
|
||||
vec4_t o;
|
||||
const transform_t& mv = c->transforms.modelview.transform;
|
||||
mv.point4(&mv, &o, &v->obj);
|
||||
vss3(d.v, l.objPosition.v, o.w, o.v);
|
||||
#else
|
||||
vss3(d.v, l.objPosition.v, v->obj.w, v->obj.v);
|
||||
#endif
|
||||
sqDist = dot3(d.v, d.v);
|
||||
vscale3(d.v, d.v, gglSqrtRecipx(sqDist));
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user