Creates a new 3x3 identity matrix instance. Uses a shared static array for memory efficiency.
Internal Float32Array storage for matrix elements
Static Readonly__Shared Float32Array containing the identity matrix values [1,0,0,0,1,0,0,0,1]
Gets the class name for debugging and reflection purposes
Gets the GLSL string representation of the identity matrix as float values.
GLSL mat3 constructor string for identity matrix
Gets the GLSL string representation of the identity matrix as integer values.
GLSL mat3 constructor string for identity matrix
Gets the GLSL string representation of the identity matrix as unsigned integer values.
GLSL mat3 constructor string for identity matrix
Indicates that this is an identity matrix class implementation
Gets the matrix element at row 0, column 0
Gets the matrix element at row 0, column 1
Gets the matrix element at row 0, column 2
Gets the matrix element at row 0, column 3 (not applicable for 3x3 matrix)
Gets the matrix element at row 1, column 0
Gets the matrix element at row 1, column 1
Gets the matrix element at row 1, column 2
Gets the matrix element at row 1, column 3 (not applicable for 3x3 matrix)
Gets the matrix element at row 2, column 0
Gets the matrix element at row 2, column 1
Gets the matrix element at row 1, column 2
Gets the matrix element at row 2, column 3 (not applicable for 3x3 matrix)
Gets the matrix element at row 3, column 0 (not applicable for 3x3 matrix)
Gets the matrix element at row 3, column 1 (not applicable for 3x3 matrix)
Gets the matrix element at row 3, column 2 (not applicable for 3x3 matrix)
Gets the matrix element at row 3, column 3 (not applicable for 3x3 matrix)
Gets the WGSL string representation of the identity matrix as float values.
WGSL mat3x3f constructor string for identity matrix
Gets the WGSL string representation of the identity matrix as integer values.
WGSL mat3x3i constructor string for identity matrix
Gets the WGSL string representation of the identity matrix as unsigned integer values.
WGSL mat3x3u constructor string for identity matrix
StaticcompositionGets the composition type for this matrix class
Gets the matrix element at the specified row and column. For identity matrix: returns 1 if row equals column, 0 otherwise.
The row index (0-2)
The column index (0-2)
The matrix element value
Calculates the determinant of the identity matrix. The determinant of any identity matrix is always 1.
Always returns 1
Returns the matrix elements as a flattened array in row-major order.
An array containing [1,0,0,0,1,0,0,0,1]
Extracts the rotation part of this matrix. For identity matrix, the rotation is also identity (no rotation).
A new IdentityMatrix33 instance representing no rotation
Gets the scale components from this matrix. For identity matrix, all scale components are 1.
A Vector3 with components [1, 1, 1]
Gets the scale components from this matrix and stores them in an output vector. For identity matrix, all scale components are 1.
The output vector to store the scale values
The output vector containing [1, 1, 1]
Indicates whether this matrix is a dummy/placeholder matrix. Identity matrices are never considered dummy matrices.
Always false for identity matrices
Checks if another matrix is approximately equal to this identity matrix within a tolerance.
The matrix to compare against
The tolerance for floating-point comparison (default: Number.EPSILON)
True if the matrix is approximately an identity matrix
Checks if another matrix is strictly equal to this identity matrix (exact comparison). Note: This method appears to have a bug - it checks 16 elements instead of 9 for a 3x3 matrix.
The matrix to compare against
True if the matrix is exactly an identity matrix
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 identity matrix with a vector and stores the result in an output vector. Since this is an identity matrix, this copies the input vector to the output vector.
The input vector to multiply
The output vector to store the result
The output vector containing the result
Returns a string representation of the identity matrix in a readable format.
A formatted string showing the 3x3 identity matrix
Returns an approximate string representation of the matrix. For identity matrix, this is identical to toString() since all values are exact.
A formatted string showing the 3x3 identity matrix
Gets the matrix element at the specified flat index.
This provides direct access to the underlying Float32Array storage using a single index rather than row/column coordinates.
The zero-based flat index into the matrix storage
The matrix element value at the specified index
A 3x3 identity matrix implementation that represents the multiplicative identity for 3x3 matrices. This matrix has 1s on the main diagonal and 0s elsewhere:
This class is optimized for identity matrix operations and provides constant-time access to matrix elements without storing the actual matrix data.