Showing:

112K

68

3yrs ago

6

0

3.3KB

Zlib

No

# 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

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.

Creates a matrix from a given angle around a given axis This is equivalent to (but much faster than):

``````  mat4.identity(dest);
``````

## 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);
``````

## fromScaling(out:mat4, v:vec3)

Creates a matrix from a vector scaling. This is equivalent to (but much faster than):

``````  mat4.identity(dest);
mat4.translate(dest, dest, vec);
``````

## fromTranslation(out:mat4, v:vec3)

Creates a matrix from a vector translation. This is equivalent to (but much faster than):

``````  mat4.identity(dest);
mat4.translate(dest, dest, vec);
``````

## fromTranslation(out:mat4, v:vec3)

Creates a matrix from a vector translation This is equivalent to (but much faster than):

``````  mat4.identity(dest);
mat4.translate(dest, dest, vec);
``````

Creates a matrix from the given angle around the X axis This is equivalent to (but much faster than):

``````  mat4.identity(dest)
``````

Creates a matrix from the given angle around the Y axis This is equivalent to (but much faster than):

``````  mat4.identity(dest)
``````

Creates a matrix from the given angle around the Z axis This is equivalent to (but much faster than):

``````  mat4.identity(dest)
``````

## 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

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.

Rotates a mat4 by the given angle

Rotates a matrix by the given angle around the X axis

Rotates a matrix by the given angle around the Y axis

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

## Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100