| 519 | } |
| 520 | |
| 521 | void xMat3x3Tolocal(xVec3* o, const xMat3x3* m, const xVec3* v) |
| 522 | { |
| 523 | F32 sumRt = (m->right.x * m->right.x) + (m->right.y * m->right.y) + (m->right.z * m->right.z); |
| 524 | F32 sumUp = (m->up.x * m->up.x) + (m->up.y * m->up.y) + (m->up.z * m->up.z); |
| 525 | F32 sumAt = (m->at.x * m->at.x) + (m->at.y * m->at.y) + (m->at.z * m->at.z); |
| 526 | xMat3x3LMulVec(o, m, v); |
| 527 | o->x /= sumRt; |
| 528 | o->y /= sumUp; |
| 529 | o->z /= sumAt; |
| 530 | } |
| 531 | |
| 532 | void xMat4x3Rot(xMat4x3* m, const xVec3* a, F32 t, const xVec3* p) |
| 533 | { |
no test coverage detected