<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.10"/> <title>0.9.8: Matrix functions</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectlogo"><img alt="Logo" src="logo.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">0.9.8 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.10 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Matrix functions<div class="ingroups"><a class="el" href="a00156.html">GLM Core</a></div></div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <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="a00150.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:gaa7e1d5586cd499126cec76e0f11871e3"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class matType> </td></tr> <tr class="memitem:gaa7e1d5586cd499126cec76e0f11871e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL matType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#gaa7e1d5586cd499126cec76e0f11871e3">inverse</a> (matType< T, P > const &m)</td></tr> <tr class="separator:gaa7e1d5586cd499126cec76e0f11871e3"><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="a00150.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:gae9f513dc8e4f3ceb993669321b6d0f09"><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:gae9f513dc8e4f3ceb993669321b6d0f09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#gae9f513dc8e4f3ceb993669321b6d0f09">outerProduct</a> (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)</td></tr> <tr class="separator:gae9f513dc8e4f3ceb993669321b6d0f09"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <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> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga26ea77c574802bc6fc193c40478718d2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GLM_FUNC_DECL T glm::determinant </td> <td>(</td> <td class="paramtype">matType< T, P > const & </td> <td class="paramname"><em>m</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <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 determinant 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> </div> </div> <a class="anchor" id="gaa7e1d5586cd499126cec76e0f11871e3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GLM_FUNC_DECL matType< T, P > inverse </td> <td>(</td> <td class="paramtype">matType< T, P > 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 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> </div> </div> <a class="anchor" id="ga4a54992e4741188ee624b21e3ba91814"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GLM_FUNC_DECL matType<T, P> glm::matrixCompMult </td> <td>(</td> <td class="paramtype">matType< T, P > const & </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">matType< T, P > 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="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> </div> </div> <a class="anchor" id="gae9f513dc8e4f3ceb993669321b6d0f09"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GLM_FUNC_DECL detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type glm::outerProduct </td> <td>(</td> <td class="paramtype">vecTypeA< T, P > const & </td> <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">vecTypeB< T, P > 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="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> </div> </div> </div><!-- contents --> <!-- start footer part --> <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"/> </a> 1.8.10 </small></address> </body> </html>