Class Mat4

Constructors

  • Parameters

    • Rest...args: number[]

    Returns Mat4

Accessors

  • get a11(): number
  • Returns number

  • set a11(v): void
  • Parameters

    • v: number

    Returns void

  • get a12(): number
  • Returns number

  • set a12(v): void
  • Parameters

    • v: number

    Returns void

  • get a13(): number
  • Returns number

  • set a13(v): void
  • Parameters

    • v: number

    Returns void

  • get a14(): number
  • Returns number

  • set a14(v): void
  • Parameters

    • v: number

    Returns void

  • get a21(): number
  • Returns number

  • set a21(v): void
  • Parameters

    • v: number

    Returns void

  • get a22(): number
  • Returns number

  • set a22(v): void
  • Parameters

    • v: number

    Returns void

  • get a23(): number
  • Returns number

  • set a23(v): void
  • Parameters

    • v: number

    Returns void

  • get a24(): number
  • Returns number

  • set a24(v): void
  • Parameters

    • v: number

    Returns void

  • get a31(): number
  • Returns number

  • set a31(v): void
  • Parameters

    • v: number

    Returns void

  • get a32(): number
  • Returns number

  • set a32(v): void
  • Parameters

    • v: number

    Returns void

  • get a33(): number
  • Returns number

  • set a33(v): void
  • Parameters

    • v: number

    Returns void

  • get a34(): number
  • Returns number

  • set a34(v): void
  • Parameters

    • v: number

    Returns void

  • get a41(): number
  • Returns number

  • set a41(v): void
  • Parameters

    • v: number

    Returns void

  • get a42(): number
  • Returns number

  • set a42(v): void
  • Parameters

    • v: number

    Returns void

  • get a43(): number
  • Returns number

  • set a43(v): void
  • Parameters

    • v: number

    Returns void

  • get a44(): number
  • Returns number

  • set a44(v): void
  • Parameters

    • v: number

    Returns void

  • get array(): number[]
  • (getter) Returns the basic array representation of this matrix.

    Returns number[]

  • get determinant(): number
  • Calculates the determinant of the mat4

    Returns number

    determinant of a

  • get determinantFunction(): Mat4DeterminantFunction
  • Calculates the determinant function the mat4

    Returns Mat4DeterminantFunction

    determinant of a

  • get frobeniusnorm(): number
  • Returns number

  • get rotation(): Quat
  • Returns Quat

  • get scaling(): Vec3
  • Returns Vec3

  • get translation(): Vec3
  • Returns Vec3

Methods

  • Adds iteration to the object, allowing it to be destructured and iterated upon in various useful ways.

    Returns {
        next(): {
            done: boolean;
            value: number;
        } | {
            done: boolean;
            value?: undefined;
        };
    }

    • next:function
      • Returns {
            done: boolean;
            value: number;
        } | {
            done: boolean;
            value?: undefined;
        }

  • Parameters

    Returns Mat4

  • Parameters

    Returns Mat4

  • Returns Mat4

  • Returns Mat4

  • Returns Mat4

  • Parameters

    Returns Mat4

  • Parameters

    Returns Mat4

  • Parameters

    • s: number

    Returns Mat4

  • Parameters

    • s: number

    Returns Mat4

  • Parameters

    • Rest...args: number[]

    Returns Mat4

  • Parameters

    Returns Mat4

  • Rotates a mat4 by the given angle around the given axis

    Parameters

    • r: number

      the angle to rotate the matrix by

    • axis: any

      the axis to rotate around

    Returns Mat4

    output

  • Parameters

    • r: number
    • axis: any

    Returns Mat4

  • Parameters

    • s: number

    Returns Mat4

  • Parameters

    • v: any

    Returns Mat4

  • Parameters

    • v: any

    Returns Mat4

  • Parameters

    • s: number

    Returns Mat4

  • Parameters

    Returns Mat4

  • Parameters

    Returns Mat4

  • Returns string

  • Transforms the mat4 by a given amount

    Parameters

    • v: any

      The amount to add to the matrixes transformation properties

    Returns Mat4

    output

  • Parameters

    • v: any

    Returns Mat4

  • Transforms the mat4 to a given position

    Parameters

    • v: any

      The amount to add to the matrixes transformation properties

    Returns Mat4

    output

  • Parameters

    • v: any

    Returns Mat4

  • Translates the mat4 to a given position

    Parameters

    • v: any

      The amount to add to the matrixes translation properties

    Returns Mat4

    output

  • Parameters

    • v: any

    Returns Mat4

  • Returns Mat4

  • Returns Mat4

  • Calculates a 4x4 matrix from the given quaternion

    Parameters

    • q: any

      Quaternion to create matrix from

    Returns Mat4

    out

  • Parameters

    • r: any
    • axis: any

    Returns 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)
    

    Parameters

    • q: any

      Rotation quaternion

    • v: any

      Translation vector

    • s: any

      Scaling vector

    Returns Mat4

    out

  • 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);
    

    Parameters

    • q: any

      Rotation quaternion

    • v: any

      Translation vector

    • s: any

      Scaling vector

    • o: any

      The origin vector around which to scale and rotate

    Returns Mat4

    out

  • Parameters

    • v: any

    Returns Mat4

  • Parameters

    • v: any

    Returns Mat4

  • Parameters

    • r: any

    Returns Mat4

  • Parameters

    • r: any

    Returns Mat4

  • Parameters

    • r: any

    Returns Mat4

  • Generates a frustum matrix with the given bounds

    Parameters

    • left: any

      Left bound of the frustum

    • right: any

      Right bound of the frustum

    • bottom: any

      Bottom bound of the frustum

    • top: any

      Top bound of the frustum

    • near: any

      Near bound of the frustum

    • far: any

      Far bound of the frustum

    Returns Mat4

    out

  • Generates a look-at matrix with the given eye position, focal point, and up axis. If you want a matrix that actually makes an object look at another object, you should use targetTo instead.

    Parameters

    • eye: any

      Position of the viewer

    • center: any

      Point the viewer is looking at

    • up: any

      vec3 pointing up

    Returns Mat4

    out

  • Generates a orthogonal projection matrix with the given bounds

    Parameters

    • left: any

      Left bound of the frustum

    • right: any

      Right bound of the frustum

    • bottom: any

      Bottom bound of the frustum

    • top: any

      Top bound of the frustum

    • near: any

      Near bound of the frustum

    • far: any

      Far bound of the frustum

    Returns Mat4

    out

  • Generates a perspective projection matrix with the given bounds. Passing null/undefined/no value for far will generate infinite projection matrix.

    Parameters

    • fovy: any

      Vertical field of view in radians

    • aspect: any

      Aspect ratio. typically viewport width/height

    • near: any

      Near bound of the frustum

    • far: any

      Far bound of the frustum, can be null or Infinity

    Returns Mat4

    out

  • Generates a matrix that makes something look at something else.

    Parameters

    • eye: any

      Position of the viewer

    • target: any
    • up: any

      vec3 pointing up

    Returns Mat4

    out