Merge "libagl: Transform the vertex if using eye space lighting with point lights"
This commit is contained in:
commit
8a2b54235a
@ -381,7 +381,14 @@ void lightVertex(ogles_context_t* c, vertex_t* v)
|
|||||||
// compute vertex-to-light vector
|
// compute vertex-to-light vector
|
||||||
if (ggl_unlikely(l.position.w)) {
|
if (ggl_unlikely(l.position.w)) {
|
||||||
// lightPos/1.0 - vertex/vertex.w == lightPos*vertex.w - vertex
|
// 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);
|
vss3(d.v, l.objPosition.v, v->obj.w, v->obj.v);
|
||||||
|
#endif
|
||||||
sqDist = dot3(d.v, d.v);
|
sqDist = dot3(d.v, d.v);
|
||||||
vscale3(d.v, d.v, gglSqrtRecipx(sqDist));
|
vscale3(d.v, d.v, gglSqrtRecipx(sqDist));
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user