2012-09-05 22:30:34 +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-11-18 13:05:52 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
2013-12-25 22:48:55 +00:00
< meta name = "generator" content = "Doxygen 1.8.5" / >
< title > GLM: Matrix functions< / title >
2012-09-05 22:30:34 +00:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
2012-11-18 13:05:52 +00:00
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
2012-09-05 22:30:34 +00:00
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
2012-11-18 13:05:52 +00:00
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
2012-09-05 22:30:34 +00:00
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
2013-12-25 22:48:55 +00:00
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > GLM
  < span id = "projectnumber" > 0.9.5< / span >
< / div >
< / td >
2012-09-05 22:30:34 +00:00
< / tr >
< / tbody >
< / table >
< / div >
2012-11-18 13:05:52 +00:00
<!-- end header part -->
2013-12-25 22:48:55 +00:00
<!-- Generated by Doxygen 1.8.5 -->
2012-09-05 22:30:34 +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 >
2013-12-25 22:48:55 +00:00
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
2012-09-05 22:30:34 +00:00
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< / ul >
< / div >
2012-11-18 13:05:52 +00:00
< / div > <!-- top -->
2012-09-05 22:30:34 +00:00
< div class = "header" >
< div class = "summary" >
< a href = "#func-members" > Functions< / a > < / div >
< div class = "headertitle" >
2013-12-25 22:48:55 +00:00
< div class = "title" > Matrix functions< div class = "ingroups" > < a class = "el" href = "a00167.html" > GLM Core< / a > < / div > < / div > < / div >
< / div > <!-- header -->
2012-09-05 22:30:34 +00:00
< div class = "contents" >
< table class = "memberdecls" >
2012-11-18 13:05:52 +00:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
2012-09-05 22:30:34 +00:00
Functions< / h2 > < / td > < / tr >
2013-12-25 22:48:55 +00:00
< tr class = "memitem:ga26ea77c574802bc6fc193c40478718d2" > < td class = "memTemplParams" colspan = "2" > template< typename T , precision P, template< typename, precision > class matType> < / td > < / tr >
< tr class = "memitem:ga26ea77c574802bc6fc193c40478718d2" > < td class = "memTemplItemLeft" align = "right" valign = "top" > GLM_FUNC_DECL T  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00159.html#ga26ea77c574802bc6fc193c40478718d2" > determinant< / a > (matType< T, P > const & m)< / td > < / tr >
< tr class = "separator:ga26ea77c574802bc6fc193c40478718d2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga7635d3dbe5aa10ff73a0e6903bf6bea5" > < td class = "memTemplParams" colspan = "2" > template< typename T , precision P, template< typename, precision > class matType> < / td > < / tr >
< tr class = "memitem:ga7635d3dbe5aa10ff73a0e6903bf6bea5" > < td class = "memTemplItemLeft" align = "right" valign = "top" > GLM_FUNC_DECL matType< T, P >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00159.html#ga7635d3dbe5aa10ff73a0e6903bf6bea5" > inverse< / a > (matType< T, P > const & m)< / td > < / tr >
< tr class = "separator:ga7635d3dbe5aa10ff73a0e6903bf6bea5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga4a54992e4741188ee624b21e3ba91814" > < td class = "memTemplParams" colspan = "2" > template< typename T , precision P, template< typename, precision > class matType> < / td > < / tr >
< tr class = "memitem:ga4a54992e4741188ee624b21e3ba91814" > < td class = "memTemplItemLeft" align = "right" valign = "top" > GLM_FUNC_DECL matType< T, P >   < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00159.html#ga4a54992e4741188ee624b21e3ba91814" > matrixCompMult< / a > (matType< T, P > const & x, matType< T, P > const & y)< / td > < / tr >
< tr class = "separator:ga4a54992e4741188ee624b21e3ba91814" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga8ef7ab7abd0437b9cb727d9842a5ecac" > < td class = "memTemplParams" colspan = "2" > template< typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB> < / td > < / tr >
< tr class = "memitem:ga8ef7ab7abd0437b9cb727d9842a5ecac" > < td class = "memTemplItemLeft" align = "right" valign = "top" > GLM_FUNC_DECL void  < / td > < td class = "memTemplItemRight" valign = "bottom" > < a class = "el" href = "a00159.html#ga8ef7ab7abd0437b9cb727d9842a5ecac" > outerProduct< / a > (vecTypeA< T, P > const & c, vecTypeB< T, P > const & r)< / td > < / tr >
< tr class = "separator:ga8ef7ab7abd0437b9cb727d9842a5ecac" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2012-09-05 22:30:34 +00:00
< / table >
2012-11-18 13:05:52 +00:00
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
2013-12-25 22:48:55 +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 >
2012-11-18 13:05:52 +00:00
< h2 class = "groupheader" > Function Documentation< / h2 >
2013-12-25 22:48:55 +00:00
< a class = "anchor" id = "ga26ea77c574802bc6fc193c40478718d2" > < / a >
2012-09-05 22:30:34 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2013-12-25 22:48:55 +00:00
< td class = "memname" > GLM_FUNC_DECL T glm::determinant < / td >
2012-09-05 22:30:34 +00:00
< td > (< / td >
2013-12-25 22:48:55 +00:00
< td class = "paramtype" > matType< T, P > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
2012-11-18 13:05:52 +00:00
< td > < / td >
2012-09-05 22:30:34 +00:00
< / tr >
< / table >
2012-11-18 13:05:52 +00:00
< / div > < div class = "memdoc" >
2012-09-05 22:30:34 +00:00
2013-12-25 22:48:55 +00:00
< p > Returns the transposed matrix of x. < / p >
< dl class = "tparams" > < dt > Template Parameters< / dt > < dd >
< table class = "tparams" >
< tr > < td class = "paramname" > matType< / td > < td > Floating-point matrix types.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section see" > < dt > See Also< / 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 > Return the < a class = "el" href = "a00159.html#ga26ea77c574802bc6fc193c40478718d2" title = "Returns the transposed matrix of x. " > determinant< / a > of a squared matrix.< / dd > < / dl >
< dl class = "tparams" > < dt > Template Parameters< / dt > < dd >
< table class = "tparams" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section see" > < dt > See Also< / 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 >
2012-09-05 22:30:34 +00:00
< / div >
< / div >
2013-12-25 22:48:55 +00:00
< a class = "anchor" id = "ga7635d3dbe5aa10ff73a0e6903bf6bea5" > < / a >
2012-09-05 22:30:34 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2013-12-25 22:48:55 +00:00
< td class = "memname" > GLM_FUNC_DECL matType< T, P> glm::inverse < / td >
2012-09-05 22:30:34 +00:00
< td > (< / td >
2013-12-25 22:48:55 +00:00
< td class = "paramtype" > matType< T, P > const &   < / td >
< td class = "paramname" > < em > m< / em > < / td > < td > )< / td >
2012-09-05 22:30:34 +00:00
< td > < / td >
< / tr >
< / table >
2012-11-18 13:05:52 +00:00
< / div > < div class = "memdoc" >
2012-09-05 22:30:34 +00:00
2013-12-25 22:48:55 +00:00
< p > Return the inverse of a squared matrix. < / p >
< dl class = "tparams" > < dt > Template Parameters< / dt > < dd >
< table class = "tparams" >
< tr > < td class = "paramname" > valType< / td > < td > Floating-point scalar types.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section see" > < dt > See Also< / 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 >
2012-09-05 22:30:34 +00:00
< / div >
< / div >
2013-12-25 22:48:55 +00:00
< a class = "anchor" id = "ga4a54992e4741188ee624b21e3ba91814" > < / a >
2012-09-05 22:30:34 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2013-12-25 22:48:55 +00:00
< td class = "memname" > GLM_FUNC_DECL matType< T, P> glm::matrixCompMult < / td >
2012-09-05 22:30:34 +00:00
< td > (< / td >
2013-12-25 22:48:55 +00:00
< td class = "paramtype" > matType< T, P > const &   < / td >
2012-11-18 13:05:52 +00:00
< td class = "paramname" > < em > x< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2013-12-25 22:48:55 +00:00
< td class = "paramtype" > matType< T, P > const &   < / td >
< td class = "paramname" > < em > y< / em >   < / td >
2012-11-18 13:05:52 +00:00
< / tr >
< tr >
2012-09-05 22:30:34 +00:00
< td > < / td >
2012-11-18 13:05:52 +00:00
< td > )< / td >
< td > < / td > < td > < / td >
2012-09-05 22:30:34 +00:00
< / tr >
< / table >
2012-11-18 13:05:52 +00:00
< / div > < div class = "memdoc" >
2012-09-05 22:30:34 +00:00
2013-12-25 22:48:55 +00:00
< 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 = "tparams" > < dt > Template Parameters< / dt > < dd >
< table class = "tparams" >
< tr > < td class = "paramname" > matType< / td > < td > Floating-point matrix types.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section see" > < dt > See Also< / 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 >
2012-11-18 13:05:52 +00:00
2012-09-05 22:30:34 +00:00
< / div >
< / div >
2013-12-25 22:48:55 +00:00
< a class = "anchor" id = "ga8ef7ab7abd0437b9cb727d9842a5ecac" > < / a >
2012-11-18 13:05:52 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2013-12-25 22:48:55 +00:00
< td class = "memname" > GLM_FUNC_DECL void glm::outerProduct < / td >
2012-11-18 13:05:52 +00:00
< td > (< / td >
2013-12-25 22:48:55 +00:00
< td class = "paramtype" > vecTypeA< T, P > const &   < / td >
< td class = "paramname" > < em > c< / em > , < / td >
2012-11-18 13:05:52 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2013-12-25 22:48:55 +00:00
< td class = "paramtype" > vecTypeB< T, P > const &   < / td >
< td class = "paramname" > < em > r< / em >   < / td >
2012-11-18 13:05:52 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2012-09-05 22:30:34 +00:00
2013-12-25 22:48:55 +00:00
< 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 = "tparams" > < dt > Template Parameters< / dt > < dd >
< table class = "tparams" >
< tr > < td class = "paramname" > matType< / td > < td > Floating-point matrix types.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section see" > < dt > See Also< / 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 = "a00239.html#_todo000004" > Todo:< / a > < / b > < / dt > < dd > Clarify the declaration to specify that matType doesn't have to be provided when used. < / dd > < / dl >
2012-09-05 22:30:34 +00:00
2012-11-18 13:05:52 +00:00
< / div >
< / div >
< / div > <!-- contents -->
<!-- start footer part -->
2012-09-05 22:30:34 +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" / >
2013-12-25 22:48:55 +00:00
< / a > 1.8.5
2012-09-05 22:30:34 +00:00
< / small > < / address >
< / body >
< / html >