| 58 | } |
| 59 | |
| 60 | Mat4 Mul(const Mat4& a, const Mat4& b) |
| 61 | { |
| 62 | Mat4 r; |
| 63 | for (int i = 0; i < 4; i++) |
| 64 | { |
| 65 | for (int j = 0; j < 4; j++) |
| 66 | { |
| 67 | float s = 0.0f; |
| 68 | for (int k = 0; k < 4; k++) |
| 69 | { |
| 70 | s += a.at(i, k) * b.at(k, j); |
| 71 | } |
| 72 | r.at(i, j) = s; |
| 73 | } |
| 74 | } |
| 75 | return r; |
| 76 | } |
| 77 | |
| 78 | Mat4 Inverse(const Mat4& a) |
| 79 | { |