Gets the class name.
The string "Matrix33"
Gets the matrix as a GLSL mat3 string with float precision.
GLSL mat3 constructor string
Gets the matrix as a GLSL mat3 string with integer values.
GLSL mat3 constructor string with floored values
Indicates whether this matrix is an identity matrix class.
This property should be overridden in derived classes that represent identity matrices to return true.
False for the base AbstractMatrix class
Gets the matrix element at row 0, column 0.
The m00 component
Gets the matrix element at row 0, column 1.
The m01 component
Gets the matrix element at row 0, column 2.
The m02 component
Gets the matrix element at row 1, column 0.
The m10 component
Gets the matrix element at row 1, column 1.
The m11 component
Gets the matrix element at row 1, column 2.
The m12 component
Gets the matrix element at row 2, column 0.
The m20 component
Gets the matrix element at row 2, column 1.
The m21 component
Gets the matrix element at row 2, column 2.
The m22 component
Gets the matrix as a WGSL mat3x3f string with float precision.
WGSL mat3x3f constructor string
Gets the matrix as a WGSL mat3x3i string with integer values.
WGSL mat3x3i constructor string with floored values
Static
compositionGets the composition type for this matrix.
CompositionType.Mat3
Extracts the scale factors from this matrix and stores them in an output vector.
The output mutable vector to store the scale factors
The output vector containing the scale factors
Checks if this matrix is approximately equal to another matrix.
The matrix to compare with
The tolerance for comparison (default: Number.EPSILON)
True if matrices are approximately equal, false otherwise
Checks if this matrix is strictly equal to another matrix.
The matrix to compare with
True if all elements are exactly equal, false otherwise
Checks if the matrix's internal storage shares the same ArrayBuffer as the provided one.
This method is useful for determining if two matrices share the same underlying memory, which can be important for performance optimizations and avoiding unnecessary data copying.
The ArrayBuffer to compare against
True if the internal storage uses the same ArrayBuffer, false otherwise
Multiplies this matrix with a vector.
The vector to multiply
A new vector representing the result of matrix * vector
Multiplies this matrix with a vector and stores the result in an output vector.
The vector to multiply
The output mutable vector to store the result
The output vector containing the result of matrix * vector
Static
dummyStatic
fromCreates a Matrix33 from 9 values in column-major order.
Element at row 0, column 0
Element at row 1, column 0
Element at row 2, column 0
Element at row 0, column 1
Element at row 1, column 1
Element at row 2, column 1
Element at row 0, column 2
Element at row 1, column 2
Element at row 2, column 2
A new Matrix33 instance
Static
fromCreates a Matrix33 from 9 values in row-major order. Values are stored internally in column-major order for WebGL compatibility.
Element at row 0, column 0
Element at row 0, column 1
Element at row 0, column 2
Element at row 1, column 0
Element at row 1, column 1
Element at row 1, column 2
Element at row 2, column 0
Element at row 2, column 1
Element at row 2, column 2
A new Matrix33 instance
Static
fromStatic
fromStatic
fromStatic
fromStatic
fromStatic
fromStatic
fromStatic
fromStatic
fromCreates a Matrix33 from a quaternion representing rotation.
The quaternion to convert
A new Matrix33 representing the rotation
Static
fromStatic
identityStatic
invertStatic
invertCalculates the inverse of the given matrix and stores the result in the output matrix.
The matrix to invert
The output mutable matrix to store the result
The output matrix containing the inverted matrix
Static
multiplyStatic
multiplyMultiplies two matrices and stores the result in an output matrix.
The left matrix
The right matrix
The output mutable matrix to store the result
The output matrix containing l_mat * r_mat
Static
rotateStatic
rotateXStatic
rotateXYZStatic
rotateYStatic
rotateZStatic
scaleStatic
transposeStatic
zero
Immutable 3x3 matrix class for 3D transformations. Matrix values are stored in column-major order for WebGL compatibility. Provides various matrix operations including rotation, scaling, and multiplication.
Example