Constructs the matrix: If a single value is passed, the matrix will be cleared with this value ( each column in each col will contain this value ). If a matrix with more cols and columns is passed, the matrix will be the upper left nxm matrix. If a matrix with less cols and columns is passed, the passed matrix will be stored in the upper left of an identity matrix. It's also allowed to pass vectors and scalars at a time, but the vectors dimension must match the number of columns and align correctly.
Construct a Matrix from another Matrix, equal sized or bigger Construct a Matrix from another Matrix
Construct a Matrix from a single value, for non- and square matrices see GLSL 4.5 Spec, section 5.4.2 Vector and Matrix Constructors
Sets all values of the matrix to value ( each column in each col will contain this value ).
Component-wise binary matrix-scalar operation: addition, subtraction, multiplication, division
matrix-vector multiplication
matrix-matrix multiplication, using matrix-vector multiplication for each column of mat
matrix-matrix component-wise operations addition, subtraction and division, using vector-vector operations of all colums
Component-wise binary scalar-matrix operation: addition, subtraction, multiplication, division
vector-Matrix multiplication, optimized instead of transposing matrix and multiplying
rotate an existing matrix
rotate an existing matrix with an angle around an axis
rotate an existing matrix with an angle around axis coordinates
rotate an existing matrix with an angle around X axis
rotate an existing matrix with an angle around Y axis
rotate an existing matrix with an angle around Z axis
extract rotation part of the matrix in a copy
scale an existing matrix
scale an existing matrix with an array/vector
scale an existing matrix with two scalars
scale an existing matrix with an array/vector
scale an existing matrix with three scalars
extract scaling part of the matrix in a copy
translate an existing matrix
translate an existing matrix with an array/vector
translate an existing matrix with two scalars
translate an existing matrix with a vector
translate an existing matrix with three scalars
extract translation part of the matrix in a copy
Returns the current matrix as pretty formatted string. TODO : Check This
Returns the current matrix formatted as flat string.
static create identity matrix
Returns a identity matrix.
Returns the pointer to the stored values as OpenGL requires it. Note this will return a pointer to a $( RED column - major ) matrix, $( RED this is the OpneGL convention and expected in programs via Uniforms or UBOs ).
static construction of a rotation matrix
static construction of a rotation matrix angle and axis
static construction of a rotation matrix angle and axis coordinates
static construction of a rotation matrix with an angle around X axis
static construction of a rotation matrix with an angle around Y axis
static construction of a rotation matrix with an angle around Z axis
static construction of a scaling matrix
static construction of a scaling matrix from an array/vector
static construction of a scaling matrix from two scalars
static construction of a scaling matrix from an array/vector
static construction of a scaling matrix from three scalars
static construction of a translation matrix
static construction of a translation matrix from an array/vector
static construction of a translation matrix from two coordinates
static construction of a translation matrix from an array/vector
static construction of a translation matrix from three coordinates
Holds the matrix $( RED column - major ) in memory./// Each Column is Vector of length rows
Base template for all matrix types. See predefined matrix types