more stuff
[csgray] / src / matrix.c
index f1347ee..ddebfdd 100644 (file)
@@ -40,19 +40,19 @@ void mat4_mul(float *dest, float *a, float *b)
 
 void mat4_xform3(float *vdest, float *m, float *v)
 {
-       float x = m[0] + v[0] + m[4] * v[1] + m[8] * v[2] + m[12];
-       float y = m[1] + v[0] + m[5] * v[1] + m[9] * v[2] + m[13];
-       vdest[2] = m[2] + v[0] + m[6] * v[1] + m[10] * v[2] + m[14];
+       float x = m[0] * v[0] + m[4] * v[1] + m[8] * v[2] + m[12];
+       float y = m[1] * v[0] + m[5] * v[1] + m[9] * v[2] + m[13];
+       vdest[2] = m[2] * v[0] + m[6] * v[1] + m[10] * v[2] + m[14];
        vdest[0] = x;
        vdest[1] = y;
 }
 
 void mat4_xform4(float *vdest, float *m, float *v)
 {
-       float x = m[0] + v[0] + m[4] * v[1] + m[8] * v[2] + m[12] * v[3];
-       float y = m[1] + v[0] + m[5] * v[1] + m[9] * v[2] + m[13] * v[3];
-       float z = m[2] + v[0] + m[6] * v[1] + m[10] * v[2] + m[14] * v[3];
-       vdest[3] = m[3] + v[0] + m[7] * v[1] + m[11] * v[2] + m[15] * v[3];
+       float x = m[0] * v[0] + m[4] * v[1] + m[8] * v[2] + m[12] * v[3];
+       float y = m[1] * v[0] + m[5] * v[1] + m[9] * v[2] + m[13] * v[3];
+       float z = m[2] * v[0] + m[6] * v[1] + m[10] * v[2] + m[14] * v[3];
+       vdest[3] = m[3] * v[0] + m[7] * v[1] + m[11] * v[2] + m[15] * v[3];
        vdest[0] = x;
        vdest[1] = y;
        vdest[2] = z;