| 96 | vec3 m[3]; |
| 97 | |
| 98 | vec3 mul(vec3 a) |
| 99 | { |
| 100 | vec3 r; |
| 101 | |
| 102 | r.mX = m[0].mX * a.mX + m[0].mY * a.mY + m[0].mZ * a.mZ; |
| 103 | r.mY = m[1].mX * a.mX + m[1].mY * a.mY + m[1].mZ * a.mZ; |
| 104 | r.mZ = m[2].mX * a.mX + m[2].mY * a.mY + m[2].mZ * a.mZ; |
| 105 | |
| 106 | return r; |
| 107 | } |
| 108 | |
| 109 | void lookatRH(vec3 at, vec3 up) |
| 110 | { |