X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=csgray;a=blobdiff_plain;f=src%2Fmatrix.c;h=ddebfdd5c681ab6c4a5256ecc9a88069cc976847;hp=f1347ee9d91531ccf803400b231c645e830380c1;hb=3dd5ba3e29ccff62d188bb4e9e8d23d1879a6024;hpb=07ca36e28aa10804ba5a544276eb5a25f8105e0f diff --git a/src/matrix.c b/src/matrix.c index f1347ee..ddebfdd 100644 --- a/src/matrix.c +++ b/src/matrix.c @@ -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;