GLM_EXT_matrix_integer
Stable extensions

## Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL T | determinant (mat< C, R, T, Q > const &m)
| Return the determinant of a squared matrix. More...
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > | matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > 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<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type | outerProduct (vec< C, T, Q > const &c, vec< R, T, Q > 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...
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type | transpose (mat< C, R, T, Q > const &x)
| Returns the transposed matrix of x. More...

## Detailed Description

Defines functions that generate common transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

Include <glm/ext/matrix_integer.hpp> to use the features of this extension.

See also
  GLM_EXT_matrix_projection
  GLM_EXT_matrix_clip_space

## Function Documentation

## determinant()

GLM_FUNC_DECL T determinant | ( | mat< C, R, T, Q > const & | m | ) |

Return the determinant of a squared matrix.

Template Parameters

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point or signed integer scalar types
  Q | Value from qualifier enum

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

Template Parameters

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point scalar types
  Q | Value from qualifier enum

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

## matrixCompMult()

GLM_FUNC_DECL mat< C, R, T, Q > matrixCompMult | ( | mat< C, R, T, Q > const & | x,
|  | mat< C, R, T, Q > 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

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point or signed integer scalar types
  Q | Value from qualifier enum

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

Template Parameters

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point scalar types
  Q | Value from qualifier enum

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

## outerProduct()

GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type outerProduct | ( | vec< C, T, Q > const & | c,
|  | vec< R, T, Q > 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

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point or signed integer scalar types
  Q | Value from qualifier enum

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

Template Parameters

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point scalar types
  Q | Value from qualifier enum

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

## transpose()

GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type transpose | ( | mat< C, R, T, Q > const & | x | ) |

Returns the transposed matrix of x.

Template Parameters

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point or signed integer scalar types
  Q | Value from qualifier enum

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

Template Parameters

  C | Integer between 1 and 4 included that qualify the number a column
  R | Integer between 1 and 4 included that qualify the number a row
  T | Floating-point scalar types
  Q | Value from qualifier enum

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