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;