Beispiel #1
0
 mat4 operator*(const mat4& value) const
 {
     mat4 right = value.transpose();
     return mat4(
        vec4(m[0].dot(right.m[0]), m[0].dot(right.m[1]),
             m[0].dot(right.m[2]), m[0].dot(right.m[3])),
        vec4(m[1].dot(right.m[0]), m[1].dot(right.m[1]),
             m[1].dot(right.m[2]), m[1].dot(right.m[3])),
        vec4(m[2].dot(right.m[0]), m[2].dot(right.m[1]),
             m[2].dot(right.m[2]), m[2].dot(right.m[3])),
        vec4(m[3].dot(right.m[0]), m[3].dot(right.m[1]),
             m[3].dot(right.m[2]), m[3].dot(right.m[3]))
    );
 }
Beispiel #2
0
vec4 operator*(const vec4 &v, const mat4 &a)
{
    return a.transpose()*v;
}
Beispiel #3
0
vec3 operator*(const vec3 &v, mat4 &a)
{
    return a.transpose()*v;
}