2011-11-12 23:26:02 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
2012-01-25 12:56:50 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
2011-12-07 14:50:15 +00:00
2012-01-25 12:56:50 +00:00
< title > Matrix functions< / title >
2011-11-12 23:26:02 +00:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
2011-12-07 14:50:15 +00:00
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
2011-11-12 23:26:02 +00:00
< / head >
< body >
2011-12-07 14:50:15 +00:00
< div id = "top" > <!-- do not remove this div! -->
2011-11-12 23:26:02 +00:00
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
2011-12-07 14:50:15 +00:00
< td id = "projectlogo" > < img alt = "Logo" src = "logo-mini.png" / > < / td >
2011-11-12 23:26:02 +00:00
< / tr >
< / tbody >
< / table >
< / div >
2011-12-07 14:50:15 +00:00
2012-01-25 12:56:50 +00:00
<!-- Generated by Doxygen 1.7.6.1 -->
2011-11-12 23:26:02 +00:00
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "pages.html" > < span > Related  Pages< / span > < / a > < / li >
< li > < a href = "modules.html" > < span > Modules< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
2012-01-25 12:56:50 +00:00
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
2011-11-12 23:26:02 +00:00
< / ul >
< / div >
< / div >
< div class = "header" >
< div class = "summary" >
2012-01-25 12:56:50 +00:00
< a href = "#func-members" > Functions< / a > < / div >
2011-11-12 23:26:02 +00:00
< div class = "headertitle" >
2012-01-25 12:56:50 +00:00
< div class = "title" > Matrix functions< / div > < / div >
< div class = "ingroups" > < a class = "el" href = "a00137.html" > GLM Core< / a > < / div > < / div > <!-- header -->
2011-11-12 23:26:02 +00:00
< div class = "contents" >
< table class = "memberdecls" >
2012-01-25 12:56:50 +00:00
< tr > < td colspan = "2" > < h2 > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename valType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > detail::tmat2x2< valType > < br class = "typebreak" / >
::value_type  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#gad3bfb2098e1572d2131a261c1fb76dd4" > determinant< / a > (detail::tmat2x2< valType > const & m)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename valType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > detail::tmat3x3< valType > < br class = "typebreak" / >
::value_type  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#ga2f26bb474e077cf03b9db23f813e8450" > determinant< / a > (detail::tmat3x3< valType > const & m)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename valType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > detail::tmat4x4< valType > < br class = "typebreak" / >
::value_type  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#ga1daa306eecf6e8b379626d761b8c222f" > determinant< / a > (detail::tmat4x4< valType > const & m)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename valType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > detail::tmat2x2< valType >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#gada3384a86cf38a1fd96275194b8ba8c0" > inverse< / a > (detail::tmat2x2< valType > const & m)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename valType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > detail::tmat3x3< valType >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#ga1a455651f7ba323ade0cd9191542b179" > inverse< / a > (detail::tmat3x3< valType > const & m)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename valType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > detail::tmat4x4< valType >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#gabc94b29dea14e111e48bc963c47559b2" > inverse< / a > (detail::tmat4x4< valType > const & m)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename matType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > matType  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#ga0e48491a51b3f366d671c01894705605" > matrixCompMult< / a > (matType const & x, matType const & y)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename vecType , typename matType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > matType  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#ga5d896e8651512fc098a677dbe403eeac" > outerProduct< / a > (vecType const & c, vecType const & r)< / td > < / tr >
< tr > < td class = "memTemplParams" colspan = "2" > template< typename matType > < / td > < / tr >
< tr > < td class = "memTemplItemLeft" align = "right" valign = "top" > matType::transpose_type  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00129.html#gac58a4106a57fb7da41b3aeae3832998b" > transpose< / a > (matType const & x)< / td > < / tr >
2011-11-12 23:26:02 +00:00
< / table >
2011-12-07 14:50:15 +00:00
< hr / > < a name = "details" id = "details" > < / a > < h2 > Detailed Description< / h2 >
2012-01-25 12:56:50 +00:00
< p > 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. < / p >
< p > Only the single-precision floating point version is shown. < / p >
< hr / > < h2 > Function Documentation< / h2 >
< a class = "anchor" id = "gad3bfb2098e1572d2131a261c1fb76dd4" > < / a > <!-- doxytag: member="glm::determinant" ref="gad3bfb2098e1572d2131a261c1fb76dd4" args="(detail::tmat2x2< valType > const &m)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > detail::tmat2x2< valType> ::value_type glm::determinant < / td >
< td > (< / td >
< td class = "paramtype" > detail::tmat2x2< valType > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Return the determinant of a mat2 matrix. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml" > GLSL determinant man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
2011-11-12 23:26:02 +00:00
2012-01-25 12:56:50 +00:00
< / div >
< / div >
< a class = "anchor" id = "ga2f26bb474e077cf03b9db23f813e8450" > < / a > <!-- doxytag: member="glm::determinant" ref="ga2f26bb474e077cf03b9db23f813e8450" args="(detail::tmat3x3< valType > const &m)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > detail::tmat3x3< valType> ::value_type glm::determinant < / td >
< td > (< / td >
< td class = "paramtype" > detail::tmat3x3< valType > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Return the determinant of a mat3 matrix. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml" > GLSL determinant man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "ga1daa306eecf6e8b379626d761b8c222f" > < / a > <!-- doxytag: member="glm::determinant" ref="ga1daa306eecf6e8b379626d761b8c222f" args="(detail::tmat4x4< valType > const &m)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > detail::tmat4x4< valType> ::value_type glm::determinant < / td >
< td > (< / td >
< td class = "paramtype" > detail::tmat4x4< valType > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Return the determinant of a mat4 matrix. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/determinant.xml" > GLSL determinant man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "gada3384a86cf38a1fd96275194b8ba8c0" > < / a > <!-- doxytag: member="glm::inverse" ref="gada3384a86cf38a1fd96275194b8ba8c0" args="(detail::tmat2x2< valType > const &m)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > detail::tmat2x2< valType> glm::inverse < / td >
< td > (< / td >
< td class = "paramtype" > detail::tmat2x2< valType > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Return the inverse of a mat2 matrix. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml" > GLSL inverse man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "ga1a455651f7ba323ade0cd9191542b179" > < / a > <!-- doxytag: member="glm::inverse" ref="ga1a455651f7ba323ade0cd9191542b179" args="(detail::tmat3x3< valType > const &m)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > detail::tmat3x3< valType> glm::inverse < / td >
< td > (< / td >
< td class = "paramtype" > detail::tmat3x3< valType > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Return the inverse of a mat3 matrix. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml" > GLSL inverse man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "gabc94b29dea14e111e48bc963c47559b2" > < / a > <!-- doxytag: member="glm::inverse" ref="gabc94b29dea14e111e48bc963c47559b2" args="(detail::tmat4x4< valType > const &m)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > detail::tmat4x4< valType> glm::inverse < / td >
< td > (< / td >
< td class = "paramtype" > detail::tmat4x4< valType > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Return the inverse of a mat4 matrix. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/inverse.xml" > GLSL inverse man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "ga0e48491a51b3f366d671c01894705605" > < / a > <!-- doxytag: member="glm::matrixCompMult" ref="ga0e48491a51b3f366d671c01894705605" args="(matType const &x, matType const &y)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > matType glm::matrixCompMult < / td >
< td > (< / td >
< td class = "paramtype" > matType const &   < / td >
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > matType const &   < / td >
< td class = "paramname" > < em > y< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > 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]. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > matType< / td > < td > Floating-point matrix types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/matrixCompMult.xml" > GLSL matrixCompMult man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "ga5d896e8651512fc098a677dbe403eeac" > < / a > <!-- doxytag: member="glm::outerProduct" ref="ga5d896e8651512fc098a677dbe403eeac" args="(vecType const &c, vecType const &r)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > matType glm::outerProduct < / td >
< td > (< / td >
< td class = "paramtype" > vecType const &   < / td >
< td class = "paramname" > < em > c< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > vecType const &   < / td >
< td class = "paramname" > < em > r< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > 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. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > matType< / td > < td > Floating-point matrix types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/outerProduct.xml" > GLSL outerProduct man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< dl class = "todo" > < dt > < b > < a class = "el" href = "a00213.html#_todo000006" > Todo:< / a > < / b > < / dt > < dd > Clarify the declaration to specify that matType doesn't have to be provided when used.< / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "gac58a4106a57fb7da41b3aeae3832998b" > < / a > <!-- doxytag: member="glm::transpose" ref="gac58a4106a57fb7da41b3aeae3832998b" args="(matType const &x)" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > matType::transpose_type glm::transpose < / td >
< td > (< / td >
< td class = "paramtype" > matType const &   < / td >
< td class = "paramname" > < em > x< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Returns the transposed matrix of x. < / p >
< dl class = "" > < dt > < b > Template Parameters:< / b > < / dt > < dd >
< table class = "" >
< tr > < td class = "paramname" > matType< / td > < td > Floating-point matrix types. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "see" > < dt > < b > See also:< / b > < / dt > < dd > < a href = "http://www.opengl.org/sdk/docs/manglsl/xhtml/transpose.xml" > GLSL transpose man page< / a > < / dd >
< dd >
< a href = "http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf" > GLSL 4.20.8 specification, section 8.6 Matrix Functions< / a > < / dd > < / dl >
< / div >
< / div >
< / div > <!-- contents -->
2011-12-07 14:50:15 +00:00
< hr class = "footer" / > < address class = "footer" > < small >
Generated by   < a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / >
2012-01-25 12:56:50 +00:00
< / a > 1.7.6.1
2011-12-07 14:50:15 +00:00
< / small > < / address >
2011-11-12 23:26:02 +00:00
< / body >
< / html >