gl-mat4-esm
v1.1.4
Published
gl-matrix's mat4, split into smaller pieces
Downloads
54
Maintainers
Readme
gl-mat4-esm
gl-mat4 ported to ES modules, so that you can do this sort of thing...
import * as mat4 from 'gl-mat4-esm';
const view = mat4.lookAt(...);
...and take advantage of tree-shaking via Rollup and Webpack 2, rather than having to have a separate require
statement for each module.
gl-mat4
Part of a fork of @toji's
gl-matrix split into smaller pieces: this
package contains glMatrix.mat4
.
Usage
mat4 = require('gl-mat4')
Will load all of the module's functionality and expose it on a single object. Note that any of the methods may also be required directly from their files.
For example, the following are equivalent:
var scale = require('gl-mat4').scale
var scale = require('gl-mat4/scale')
API
- adjoint()
- clone()
- copy()
- create()
- determinant()
- fromQuat()
- fromRotationTranslation()
- frustum()
- identity()
- invert()
- lookAt()
- multiply()
- ortho()
- perspective()
- perspectiveFromFieldOfView()
- rotate()
- rotateX()
- rotateY()
- rotateZ()
- scale()
- str()
- translate()
- transpose()
adjoint(out:mat4, a:mat4)
Calculates the adjugate of a mat4
clone(a:mat4)
Creates a new mat4 initialized with values from an existing matrix
copy(out:mat4, a:mat4)
Copy the values from one mat4 to another
create()
Creates a new identity mat4
determinant(a:mat4)
Calculates the determinant of a mat4
fromQuat(out:mat4, q:quat4)
Creates a matrix from a quaternion rotation.
fromRotationTranslation(out:mat4, q:quat4, v:vec3)
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);
var quatMat = mat4.create();
quat4.toMat4(quat, quatMat);
mat4.multiply(dest, quatMat);
frustum(out:mat4, left:Number, right:Number, bottom:Number, top:Number, near:Number, far:Number)
Generates a frustum matrix with the given bounds
identity(out:mat4)
Set a mat4 to the identity matrix
invert(out:mat4, a:mat4)
Inverts a mat4
lookAt(out:mat4, eye:vec3, center:vec3, up:vec3)
Generates a look-at matrix with the given eye position, focal point, and up axis
multiply(out:mat4, a:mat4, b:mat4)
Multiplies two mat4's
ortho(out:mat4, left:number, right:number, bottom:number, top:number, near:number, far:number)
Generates a orthogonal projection matrix with the given bounds
perspective(out:mat4, fovy:number, aspect:number, near:number, far:number)
Generates a perspective projection matrix with the given bounds
perspectiveFromFieldOfView(out:mat4, fov:object, near:number, far:number)
Generates a perspective projection matrix with the given field of view.
rotate(out:mat4, a:mat4, rad:Number, axis:vec3)
Rotates a mat4 by the given angle
rotateX(out:mat4, a:mat4, rad:Number)
Rotates a matrix by the given angle around the X axis
rotateY(out:mat4, a:mat4, rad:Number)
Rotates a matrix by the given angle around the Y axis
rotateZ(out:mat4, a:mat4, rad:Number)
Rotates a matrix by the given angle around the Z axis
scale(out:mat4, a:mat4, v:vec3)
Scales the mat4 by the dimensions in the given vec3
str(mat:mat4)
Returns a string representation of a mat4
translate(out:mat4, a:mat4, v:vec3)
Translate a mat4 by the given vector
transpose(out:mat4, a:mat4)
Transpose the values of a mat4
License
zlib. See LICENSE.md for details.