Module

GLMatrix.Mat4.Mix

#fromQuat

fromQuat :: Quat -> Mat4

Calculates a 4x4 matrix from the given quaternion

#fromVec4

fromVec4 :: Vec4 -> Vec4 -> Vec4 -> Vec4 -> Mat4

#fromRotationTranslation

fromRotationTranslation :: Quat -> Vec3 -> Mat4

Creates a matrix from a quaternion rotation and vector translation This is equivalent to (but much faster than): mat4.identity(dest); mat4.translate(dest, vec); let quatMat = mat4.create(); quat4.toMat4(quat, quatMat); mat4.multiply(dest, quatMat);

#fromRotationTranslationScale

fromRotationTranslationScale :: Quat -> Vec3 -> Vec3 -> Mat4

Creates a matrix from a quaternion rotation, vector translation and vector scale This is equivalent to (but much faster than): mat4.identity(dest); mat4.translate(dest, vec); let quatMat = mat4.create(); quat4.toMat4(quat, quatMat); mat4.multiply(dest, quatMat); mat4.scale(dest, scale)

#fromRotationTranslationScaleOrigin

fromRotationTranslationScaleOrigin :: Quat -> Vec3 -> Vec3 -> Vec3 -> Mat4

Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin This is equivalent to (but much faster than): mat4.identity(dest); mat4.translate(dest, vec); mat4.translate(dest, origin); let quatMat = mat4.create(); quat4.toMat4(quat, quatMat); mat4.multiply(dest, quatMat); mat4.scale(dest, scale) mat4.translate(dest, negativeOrigin);

#getRotation

getRotation :: Mat4 -> Quat

Returns a quaternion representing the rotational component of a transformation matrix. If a matrix is built with fromRotationTranslation, the returned quaternion will be the same as the quaternion originally supplied.

Modules