Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Matrix.h"
- void mat4Inverse(mat4 &m){
- mat4 m2 = m;
- m.values[0] = m2.values[0];
- m.values[1] = m2.values[4];
- m.values[2] = m2.values[8];
- m.values[4] = m2.values[1];
- m.values[6] = m2.values[9];
- m.values[8] = m2.values[2];
- m.values[9] = m2.values[6];
- m.values[12] = m.values[0]*-m2.values[12]+m.values[4]*-m2.values[13]+m.values[8]*-m2.values[14];
- m.values[13] = m.values[1]*-m2.values[12]+m.values[5]*-m2.values[13]+m.values[9]*-m2.values[14];
- m.values[14] = m.values[2]*-m2.values[12]+m.values[6]*-m2.values[13]+m.values[10]*-m2.values[14];
- m.values[3] = 0;
- m.values[7] = 0;
- m.values[11] = 0;
- m.values[15] = 1;
- }
- void mat4Inverse(mat4 &a, mat4 &b){
- b = a;
- b.values[0] = a.values[0];
- b.values[1] = a.values[4];
- b.values[2] = a.values[8];
- b.values[4] = a.values[1];
- b.values[6] = a.values[9];
- b.values[8] = a.values[2];
- b.values[9] = a.values[6];
- b.values[12] = b.values[0]*-a.values[12]+b.values[4]*-a.values[13]+b.values[8]*-a.values[14];
- b.values[13] = b.values[1]*-a.values[12]+b.values[5]*-a.values[13]+b.values[9]*-a.values[14];
- b.values[14] = b.values[2]*-a.values[12]+b.values[6]*-a.values[13]+b.values[10]*-a.values[14];
- b.values[3] = 0;
- b.values[7] = 0;
- b.values[11] = 0;
- b.values[15] = 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement