GLSharp.Util.Matrix4X4.MultiplyM C# (CSharp) Method

MultiplyM() public method

public MultiplyM ( Matrix4X4 other ) : Matrix4X4
other Matrix4X4
return Matrix4X4
        public Matrix4X4 MultiplyM(Matrix4X4 other)
        {
            float a00 = Elements[0], a01 = Elements[1], a02 = Elements[2], a03 = Elements[3];
            float a10 = Elements[4], a11 = Elements[5], a12 = Elements[6], a13 = Elements[7];
            float a20 = Elements[8], a21 = Elements[9], a22 = Elements[10], a23 = Elements[11];
            float a30 = Elements[12], a31 = Elements[13], a32 = Elements[14], a33 = Elements[15];

            float b00 = other.Elements[0], b01 = other.Elements[1], b02 = other.Elements[2], b03 = other.Elements[3];
            float b10 = other.Elements[4], b11 = other.Elements[5], b12 = other.Elements[6], b13 = other.Elements[7];
            float b20 = other.Elements[8], b21 = other.Elements[9], b22 = other.Elements[10], b23 = other.Elements[11];
            float b30 = other.Elements[12], b31 = other.Elements[13], b32 = other.Elements[14], b33 = other.Elements[15];

            Elements[0] = b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30;
            Elements[1] = b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31;
            Elements[2] = b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32;
            Elements[3] = b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33;
            Elements[4] = b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30;
            Elements[5] = b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31;
            Elements[6] = b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32;
            Elements[7] = b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33;
            Elements[8] = b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30;
            Elements[9] = b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31;
            Elements[10] = b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32;
            Elements[11] = b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33;
            Elements[12] = b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30;
            Elements[13] = b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31;
            Elements[14] = b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32;
            Elements[15] = b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33;

            return this;
        }