| 128 | } |
| 129 | |
| 130 | Vec4 Transform(const Mat4& a, const Vec4& v) |
| 131 | { |
| 132 | Vec4 r; |
| 133 | r.x = a.at(0, 0) * v.x + a.at(0, 1) * v.y + a.at(0, 2) * v.z + a.at(0, 3) * v.w; |
| 134 | r.y = a.at(1, 0) * v.x + a.at(1, 1) * v.y + a.at(1, 2) * v.z + a.at(1, 3) * v.w; |
| 135 | r.z = a.at(2, 0) * v.x + a.at(2, 1) * v.y + a.at(2, 2) * v.z + a.at(2, 3) * v.w; |
| 136 | r.w = a.at(3, 0) * v.x + a.at(3, 1) * v.y + a.at(3, 2) * v.z + a.at(3, 3) * v.w; |
| 137 | return r; |
| 138 | } |
| 139 | |
| 140 | Vec3 TransformPoint(const Mat4& a, const Vec3& p) |
| 141 | { |
no test coverage detected