Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void mul4f(Matrix4fBuffer leftM, Matrix4fBuffer rightM) {
- final FloatBuffer left = leftM.buffer;
- final FloatBuffer right = rightM.buffer;
- float m00 = left.get(0) * right.get(0) + left.get(1) * right.get(4) + left.get(2) * right.get(8) + left.get(3) * right.get(12);
- float m10 = left.get(0) * right.get(1) + left.get(1) * right.get(5) + left.get(2) * right.get(9) + left.get(3) * right.get(13);
- float m20 = left.get(0) * right.get(2) + left.get(1) * right.get(6) + left.get(2) * right.get(10) + left.get(3) * right.get(14);
- float m30 = left.get(0) * right.get(3) + left.get(1) * right.get(7) + left.get(2) * right.get(11) + left.get(3) * right.get(15);
- float m01 = left.get(4) * right.get(0) + left.get(5) * right.get(4) + left.get(6) * right.get(8) + left.get(7) * right.get(12);
- float m11 = left.get(4) * right.get(1) + left.get(5) * right.get(5) + left.get(6) * right.get(9) + left.get(7) * right.get(13);
- float m21 = left.get(4) * right.get(2) + left.get(5) * right.get(6) + left.get(6) * right.get(10) + left.get(7) * right.get(14);
- float m31 = left.get(4) * right.get(3) + left.get(5) * right.get(7) + left.get(6) * right.get(11) + left.get(7) * right.get(15);
- float m02 = left.get(8) * right.get(0) + left.get(9) * right.get(4) + left.get(10) * right.get(8) + left.get(11) * right.get(12);
- float m12 = left.get(8) * right.get(1) + left.get(9) * right.get(5) + left.get(10) * right.get(9) + left.get(11) * right.get(13);
- float m22 = left.get(8) * right.get(2) + left.get(9) * right.get(6) + left.get(10) * right.get(10) + left.get(11) * right.get(14);
- float m32 = left.get(8) * right.get(3) + left.get(9) * right.get(7) + left.get(10) * right.get(11) + left.get(11) * right.get(15);
- float m03 = left.get(12) * right.get(0) + left.get(13) * right.get(4) + left.get(14) * right.get(8) + left.get(15) * right.get(12);
- float m13 = left.get(12) * right.get(1) + left.get(13) * right.get(5) + left.get(14) * right.get(9) + left.get(15) * right.get(13);
- float m23 = left.get(12) * right.get(2) + left.get(13) * right.get(6) + left.get(14) * right.get(10) + left.get(15) * right.get(14);
- float m33 = left.get(12) * right.get(3) + left.get(13) * right.get(7) + left.get(14) * right.get(11) + left.get(15) * right.get(15);
- final FloatBuffer buffer = this.buffer;
- buffer.put(0, m00);
- buffer.put(1, m10);
- buffer.put(2, m20);
- buffer.put(3, m30);
- buffer.put(4, m01);
- buffer.put(5, m11);
- buffer.put(6, m21);
- buffer.put(7, m31);
- buffer.put(8, m02);
- buffer.put(9, m12);
- buffer.put(10, m22);
- buffer.put(11, m32);
- buffer.put(12, m03);
- buffer.put(13, m13);
- buffer.put(14, m23);
- buffer.put(15, m33);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement