Matrix functions
GLM Core

For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision. More...

## Functions

template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL T | determinant (matType< T, P > const &m)
| Returns the transposed matrix of x. More...
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > | inverse (matType< T, P > const &m)
| Return the inverse of a squared matrix. More...
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > | matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
| Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j]. More...
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type | outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
| Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r. More...

## Detailed Description

For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision.

Only the single-precision floating point version is shown.

## Function Documentation

GLM_FUNC_DECL T glm::determinant | ( | matType< T, P > const & | m | ) |

Returns the transposed matrix of x.

Template Parameters

  matType | Floating-point matrix types.

See also
  GLSL transpose man page
  GLSL 4.20.8 specification, section 8.6 Matrix Functions Return the determinant of a squared matrix.

Template Parameters

  valType | Floating-point scalar types.

See also
  GLSL determinant man page
  GLSL 4.20.8 specification, section 8.6 Matrix Functions

GLM_FUNC_DECL matType< T, P > inverse | ( | matType< T, P > const & | m | ) |

Return the inverse of a squared matrix.

Template Parameters

  valType | Floating-point scalar types.

See also
  GLSL inverse man page
  GLSL 4.20.8 specification, section 8.6 Matrix Functions

GLM_FUNC_DECL matType<T, P> glm::matrixCompMult | ( | matType< T, P > const & | x,
|  | matType< T, P > const & | y
| ) |  |

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j].

Template Parameters

  matType | Floating-point matrix types.

See also
  GLSL matrixCompMult man page
  GLSL 4.20.8 specification, section 8.6 Matrix Functions

GLM_FUNC_DECL detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type glm::outerProduct | ( | vecTypeA< T, P > const & | c,
|  | vecTypeB< T, P > const & | r
| ) |  |

Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r.

Template Parameters

  matType | Floating-point matrix types.

See also
  GLSL outerProduct man page
  GLSL 4.20.8 specification, section 8.6 Matrix Functions