summaryrefslogtreecommitdiffstats
path: root/collision.c
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2006-10-20 14:57:05 +0200
committerneoraider <devnull@localhost>2006-10-20 14:57:05 +0200
commit1021d32f7ccb9f3f10253934fd4e5202b7382b2d (patch)
tree61dd0e93d0171a5fcc8b0fe854a2f50df52652d5 /collision.c
parentf5ef6536cc243acd39bf563c3d9064d1908483b3 (diff)
downloadlibneofx-1021d32f7ccb9f3f10253934fd4e5202b7382b2d.tar
libneofx-1021d32f7ccb9f3f10253934fd4e5202b7382b2d.zip
Physik-Engine angefangen.
Lightmaps implementiert.
Diffstat (limited to 'collision.c')
-rw-r--r--collision.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/collision.c b/collision.c
index 27e00b7..d093432 100644
--- a/collision.c
+++ b/collision.c
@@ -27,7 +27,7 @@ int CollisionPointTriangle(VERTEX p, TRIANGLE t) {
int CollisionRayTriangle(VERTEX p, VECTOR vec, TRIANGLE t, float* f) {
VECTOR pvec, tvec, qvec, edge1, edge2;
- float det, u, v, invDet;
+ float det, u, v;
edge1 = VectorSub(t.vertices[1], t.vertices[0]);
edge2 = VectorSub(t.vertices[2], t.vertices[0]);
@@ -46,11 +46,7 @@ int CollisionRayTriangle(VERTEX p, VECTOR vec, TRIANGLE t, float* f) {
v = VectorDot(vec, qvec);
if(v < 0.0 || u+v > det) return 0;
- if(f) {
- *f = VectorDot(edge2, qvec);
- invDet = 1.0 / det;
- *f *= invDet;
- }
+ if(f) *f = VectorDot(edge2, qvec) / det;
return 1;
}