Determines whether an array includes a certain element, returning true or false as appropriate.
The element to search for.
Optional
fromIndex: numberThe position in this array at which to begin searching for searchElement.
Returns the value of the last element in the array where predicate is true, and undefined otherwise.
findLast calls predicate once for each element of the array, in descending order, until it finds one where predicate returns true. If such an element is found, findLast immediately returns that element value. Otherwise, findLast returns undefined.
Optional
thisArg: anyIf provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Optional
thisArg: anyReturns the index of the last element in the array where predicate is true, and -1 otherwise.
findLastIndex calls predicate once for each element of the array, in descending order, until it finds one where predicate returns true. If such an element is found, findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.
Optional
thisArg: anyIf provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Returns the this object after copying a section of the array identified by start and end to the same array starting at position target
If target is negative, it is treated as length+target where length is the length of the array.
If start is negative, it is treated as length+start. If end is negative, it is treated as length+end.
Optional
end: numberIf not specified, length of the this object is used as its default value.
Determines whether all the members of an array satisfy the specified test.
A function that accepts up to three arguments. The every method calls the predicate function for each element in the array until the predicate returns a value which is coercible to the Boolean value false, or until the end of the array.
Optional
thisArg: anyAn object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.
Changes all array elements from start
to end
index to a static value
and returns the modified array
value to fill array section with
Optional
start: numberindex to start filling the array at. If start is negative, it is treated as length+start where length is the length of the array.
Optional
end: numberindex to stop filling the array at. If end is negative, it is treated as length+end.
Returns the elements of an array that meet the condition specified in a callback function.
A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.
Optional
thisArg: anyAn object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.
Returns the value of the first element in the array where predicate is true, and undefined otherwise.
find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, find immediately returns that element value. Otherwise, find returns undefined.
Optional
thisArg: anyIf provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Returns the index of the first element in the array where predicate is true, and -1 otherwise.
find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, findIndex immediately returns that element index. Otherwise, findIndex returns -1.
Optional
thisArg: anyIf provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Performs the specified action for each element in an array.
A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
Optional
thisArg: anyAn object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Returns the index of the first occurrence of a value in an array.
The value to locate in the array.
Optional
fromIndex: numberThe array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
Adds all the elements of an array separated by the specified separator string.
Optional
separator: stringA string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.
Returns the index of the last occurrence of a value in an array.
The value to locate in the array.
Optional
fromIndex: numberThe array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
Calls a defined callback function on each element of an array, and returns an array that contains the results.
A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
Optional
thisArg: anyAn object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
Returns a section of an array.
Optional
start: numberThe beginning of the specified portion of the array.
Optional
end: numberThe end of the specified portion of the array. This is exclusive of the element at the index 'end'.
Determines whether the specified callback function returns true for any element of an array.
A function that accepts up to three arguments. The some method calls the predicate function for each element in the array until the predicate returns a value which is coercible to the Boolean value true, or until the end of the array.
Optional
thisArg: anyAn object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.
Sorts an array.
Optional
compareFn: ((a: number, b: number) => number)Function used to determine the order of the elements. It is expected to return a negative value if first argument is less than second argument, zero if they're equal and a positive value otherwise. If omitted, the elements are sorted in ascending order.
[11,2,22,1].sort((a, b) => a - b)
Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive.
Optional
begin: numberThe index of the beginning of the array.
Optional
end: numberThe index of the end of the array.
Generates a perspective projection matrix with the given bounds.
The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
which matches WebGL/OpenGL's clip volume.
Passing null/undefined/no value for far will generate infinite projection matrix.
Equivalent to Mat4.perspectiveNO(this, fovy, aspect, near, far);
this
Vertical field of view in radians
Aspect ratio. typically viewport width/height
Near bound of the frustum
Far bound of the frustum, can be null or Infinity
Generates a perspective projection matrix suitable for WebGPU with the given bounds.
The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
Passing null/undefined/no value for far will generate infinite projection matrix.
Equivalent to Mat4.perspectiveZO(this, fovy, aspect, near, far);
this
Vertical field of view in radians
Aspect ratio. typically viewport width/height
Near bound of the frustum
Far bound of the frustum, can be null or Infinity
Generates a orthogonal projection matrix with the given bounds.
The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
which matches WebGL/OpenGL's clip volume.
Equivalent to Mat4.orthoNO(this, left, right, bottom, top, near, far);
this
Left bound of the frustum
Right bound of the frustum
Bottom bound of the frustum
Top bound of the frustum
Near bound of the frustum
Far bound of the frustum
Generates a orthogonal projection matrix with the given bounds.
The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
Equivalent to Mat4.orthoZO(this, left, right, bottom, top, near, far);
this
Left bound of the frustum
Right bound of the frustum
Bottom bound of the frustum
Top bound of the frustum
Near bound of the frustum
Far bound of the frustum
Static
ofStatic
fromCreates an array from an array-like or iterable object.
An array-like or iterable object to convert to an array.
Creates an array from an array-like or iterable object.
An array-like or iterable object to convert to an array.
A mapping function to call on every element of the array.
Optional
thisArg: anyValue of 'this' used to invoke the mapfn.
Creates an array from an array-like or iterable object.
An array-like or iterable object to convert to an array.
Optional
mapfn: ((v: number, k: number) => number)A mapping function to call on every element of the array.
Optional
thisArg: anyValue of 'this' used to invoke the mapfn.
Static
createStatic
cloneStatic
copyStatic
fromStatic
setStatic
identityStatic
transposeStatic
invertStatic
adjointStatic
determinantStatic
multiplyStatic
mulStatic
translateStatic
scaleStatic
rotateStatic
rotateXStatic
rotateYStatic
rotateZStatic
fromStatic
fromStatic
fromCreates a Mat4 from a given angle around a given axis This is equivalent to (but much faster than):
mat4.identity(dest);
mat4.rotate(dest, dest, rad, axis);
out
or null
if axis
has a length of 0
Static
fromXRotationCreates a matrix from the given angle around the X axis This is equivalent to (but much faster than):
mat4.identity(dest);
mat4.rotateX(dest, dest, rad);
out
mat4 receiving operation result
the angle to rotate the matrix by
Static
fromYRotationCreates a matrix from the given angle around the Y axis This is equivalent to (but much faster than):
mat4.identity(dest);
mat4.rotateY(dest, dest, rad);
out
mat4 receiving operation result
the angle to rotate the matrix by
Static
fromZRotationCreates a matrix from the given angle around the Z axis This is equivalent to (but much faster than):
mat4.identity(dest);
mat4.rotateZ(dest, dest, rad);
out
mat4 receiving operation result
the angle to rotate the matrix by
Static
fromCreates 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);
out
Static
fromStatic
normalStatic
normalCalculates a Mat4 normal matrix (transpose inverse) from a Mat4 This version omits the calculation of the constant factor (1/determinant), so any normals transformed with it will need to be renormalized. From https://stackoverflow.com/a/27616419/25968
out
Static
getReturns the translation vector component of a transformation matrix. If a matrix is built with fromRotationTranslation, the returned vector will be the same as the translation vector originally supplied.
out
Static
getReturns the scaling factor component of a transformation matrix. If a matrix is built with fromRotationTranslationScale with a normalized Quaternion parameter, the returned vector will be the same as the scaling vector originally supplied.
out
Static
getReturns 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.
out
Static
decomposeStatic
fromCreates 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);
out
Static
fromCreates 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);
out
Static
fromStatic
frustumNOGenerates a frustum matrix with the given bounds The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1], which matches WebGL/OpenGL's clip volume. Passing null/undefined/no value for far will generate infinite projection matrix.
out
mat4 frustum matrix will be written into
Left bound of the frustum
Right bound of the frustum
Bottom bound of the frustum
Top bound of the frustum
Near bound of the frustum
Far bound of the frustum, can be null or Infinity
Static
frustumStatic
frustumZOGenerates a frustum matrix with the given bounds The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1], which matches WebGPU/Vulkan/DirectX/Metal's clip volume. Passing null/undefined/no value for far will generate infinite projection matrix.
out
mat4 frustum matrix will be written into
Left bound of the frustum
Right bound of the frustum
Bottom bound of the frustum
Top bound of the frustum
Near bound of the frustum
Far bound of the frustum, can be null or Infinity
Static
perspectiveNOGenerates a perspective projection matrix with the given bounds. The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1], which matches WebGL/OpenGL's clip volume. Passing null/undefined/no value for far will generate infinite projection matrix.
out
mat4 frustum matrix will be written into
Vertical field of view in radians
Aspect ratio. typically viewport width/height
Near bound of the frustum
Far bound of the frustum, can be null or Infinity
Static
perspectiveStatic
perspectiveZOGenerates a perspective projection matrix suitable for WebGPU with the given bounds. The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1], which matches WebGPU/Vulkan/DirectX/Metal's clip volume. Passing null/undefined/no value for far will generate infinite projection matrix.
out
mat4 frustum matrix will be written into
Vertical field of view in radians
Aspect ratio. typically viewport width/height
Near bound of the frustum
Far bound of the frustum, can be null or Infinity
Static
perspectiveGenerates a perspective projection matrix with the given field of view. This is primarily useful for generating projection matrices to be used with the still experiemental WebVR API.
out
mat4 frustum matrix will be written into
Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees
Near bound of the frustum
Far bound of the frustum
Static
orthoNOGenerates a orthogonal projection matrix with the given bounds. The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1], which matches WebGL/OpenGL's clip volume.
out
mat4 frustum matrix will be written into
Left bound of the frustum
Right bound of the frustum
Bottom bound of the frustum
Top bound of the frustum
Near bound of the frustum
Far bound of the frustum
Static
orthoStatic
orthoZOGenerates a orthogonal projection matrix with the given bounds. The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1], which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
out
mat4 frustum matrix will be written into
Left bound of the frustum
Right bound of the frustum
Bottom bound of the frustum
Top bound of the frustum
Near bound of the frustum
Far bound of the frustum
Static
lookGenerates 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.
out
Static
targetStatic
frobStatic
addStatic
subtractStatic
subStatic
multiplyStatic
multiplyStatic
exactStatic
equalsStatic
strReadonly
[toReadonly
BYTES_The size in bytes of each element in the array.
Readonly
bufferThe ArrayBuffer instance referenced by the array.
Readonly
byteThe length in bytes of the array.
Readonly
byteThe offset in bytes of the array.
Readonly
lengthThe length of the array.
Static
Readonly
BYTES_The size in bytes of each element in the array.
Static
Readonly
BYTE_The number of bytes in a Mat4.
A string representation of this
Equivalent to Mat4.str(this);
Generated using TypeDoc
A 4x4 Matrix