glm/doc/api/a00171.html
Christophe Riccio a7b72ec5b2 Updated API doc
2017-08-15 21:22:51 +02:00

1759 lines
87 KiB
HTML

<!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.9 API documenation: GLM_GTC_matrix_transform</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">0.9.9 API documenation
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">GLM_GTC_matrix_transform<div class="ingroups"><a class="el" href="a00156.html">GTC Extensions (Stable)</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Defines functions that generate common transformation matrices.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga0bcd4542e0affc63a0b8c08fcb839ea9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga0bcd4542e0affc63a0b8c08fcb839ea9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga0bcd4542e0affc63a0b8c08fcb839ea9">frustum</a> (T left, T right, T bottom, T top, T near, T far)</td></tr>
<tr class="memdesc:ga0bcd4542e0affc63a0b8c08fcb839ea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a frustum matrix with default handedness. <a href="a00171.html#ga0bcd4542e0affc63a0b8c08fcb839ea9">More...</a><br /></td></tr>
<tr class="separator:ga0bcd4542e0affc63a0b8c08fcb839ea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4277c37f61d81da01bc9db14ea90296"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gae4277c37f61d81da01bc9db14ea90296"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gae4277c37f61d81da01bc9db14ea90296">frustumLH</a> (T left, T right, T bottom, T top, T near, T far)</td></tr>
<tr class="memdesc:gae4277c37f61d81da01bc9db14ea90296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a left handed frustum matrix. <a href="a00171.html#gae4277c37f61d81da01bc9db14ea90296">More...</a><br /></td></tr>
<tr class="separator:gae4277c37f61d81da01bc9db14ea90296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4366ab45880c6c5f8b3e8c371ca4b136"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga4366ab45880c6c5f8b3e8c371ca4b136"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga4366ab45880c6c5f8b3e8c371ca4b136">frustumRH</a> (T left, T right, T bottom, T top, T near, T far)</td></tr>
<tr class="memdesc:ga4366ab45880c6c5f8b3e8c371ca4b136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a right handed frustum matrix. <a href="a00171.html#ga4366ab45880c6c5f8b3e8c371ca4b136">More...</a><br /></td></tr>
<tr class="separator:ga4366ab45880c6c5f8b3e8c371ca4b136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44fa38a18349450325cae2661bb115ca"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga44fa38a18349450325cae2661bb115ca"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga44fa38a18349450325cae2661bb115ca">infinitePerspective</a> (T fovy, T aspect, T near)</td></tr>
<tr class="memdesc:ga44fa38a18349450325cae2661bb115ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. <a href="a00171.html#ga44fa38a18349450325cae2661bb115ca">More...</a><br /></td></tr>
<tr class="separator:ga44fa38a18349450325cae2661bb115ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3201b30f5b3ea0f933246d87bfb992a9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga3201b30f5b3ea0f933246d87bfb992a9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga3201b30f5b3ea0f933246d87bfb992a9">infinitePerspectiveLH</a> (T fovy, T aspect, T near)</td></tr>
<tr class="memdesc:ga3201b30f5b3ea0f933246d87bfb992a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. <a href="a00171.html#ga3201b30f5b3ea0f933246d87bfb992a9">More...</a><br /></td></tr>
<tr class="separator:ga3201b30f5b3ea0f933246d87bfb992a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99672ffe5714ef478dab2437255fe7e1"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga99672ffe5714ef478dab2437255fe7e1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga99672ffe5714ef478dab2437255fe7e1">infinitePerspectiveRH</a> (T fovy, T aspect, T near)</td></tr>
<tr class="memdesc:ga99672ffe5714ef478dab2437255fe7e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. <a href="a00171.html#ga99672ffe5714ef478dab2437255fe7e1">More...</a><br /></td></tr>
<tr class="separator:ga99672ffe5714ef478dab2437255fe7e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfb9f3590ddbb575c90da4e190a6268d"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P&gt; </td></tr>
<tr class="memitem:gadfb9f3590ddbb575c90da4e190a6268d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gadfb9f3590ddbb575c90da4e190a6268d">lookAt</a> (vec&lt; 3, T, P &gt; const &amp;eye, vec&lt; 3, T, P &gt; const &amp;center, vec&lt; 3, T, P &gt; const &amp;up)</td></tr>
<tr class="memdesc:gadfb9f3590ddbb575c90da4e190a6268d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a look at view matrix based on the default handedness. <a href="a00171.html#gadfb9f3590ddbb575c90da4e190a6268d">More...</a><br /></td></tr>
<tr class="separator:gadfb9f3590ddbb575c90da4e190a6268d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadac005945f9000cae3c8c8d5dc10d266"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P&gt; </td></tr>
<tr class="memitem:gadac005945f9000cae3c8c8d5dc10d266"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gadac005945f9000cae3c8c8d5dc10d266">lookAtLH</a> (vec&lt; 3, T, P &gt; const &amp;eye, vec&lt; 3, T, P &gt; const &amp;center, vec&lt; 3, T, P &gt; const &amp;up)</td></tr>
<tr class="memdesc:gadac005945f9000cae3c8c8d5dc10d266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a left handed look at view matrix. <a href="a00171.html#gadac005945f9000cae3c8c8d5dc10d266">More...</a><br /></td></tr>
<tr class="separator:gadac005945f9000cae3c8c8d5dc10d266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga753f57ea9773bf53b88d0d242147bfc3"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P&gt; </td></tr>
<tr class="memitem:ga753f57ea9773bf53b88d0d242147bfc3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga753f57ea9773bf53b88d0d242147bfc3">lookAtRH</a> (vec&lt; 3, T, P &gt; const &amp;eye, vec&lt; 3, T, P &gt; const &amp;center, vec&lt; 3, T, P &gt; const &amp;up)</td></tr>
<tr class="memdesc:ga753f57ea9773bf53b88d0d242147bfc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a right handed look at view matrix. <a href="a00171.html#ga753f57ea9773bf53b88d0d242147bfc3">More...</a><br /></td></tr>
<tr class="separator:ga753f57ea9773bf53b88d0d242147bfc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6615d8a9d39432e279c4575313ecb456"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6615d8a9d39432e279c4575313ecb456"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga6615d8a9d39432e279c4575313ecb456">ortho</a> (T left, T right, T bottom, T top, T zNear, T zFar)</td></tr>
<tr class="memdesc:ga6615d8a9d39432e279c4575313ecb456"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for an orthographic parallel viewing volume, using the default handedness. <a href="a00171.html#ga6615d8a9d39432e279c4575313ecb456">More...</a><br /></td></tr>
<tr class="separator:ga6615d8a9d39432e279c4575313ecb456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5b6b40ed882cd56cd7cb97701909c06"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gae5b6b40ed882cd56cd7cb97701909c06"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gae5b6b40ed882cd56cd7cb97701909c06">ortho</a> (T left, T right, T bottom, T top)</td></tr>
<tr class="memdesc:gae5b6b40ed882cd56cd7cb97701909c06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for projecting two-dimensional coordinates onto the screen. <a href="a00171.html#gae5b6b40ed882cd56cd7cb97701909c06">More...</a><br /></td></tr>
<tr class="separator:gae5b6b40ed882cd56cd7cb97701909c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad122a79aadaa5529cec4ac197203db7f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gad122a79aadaa5529cec4ac197203db7f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gad122a79aadaa5529cec4ac197203db7f">orthoLH</a> (T left, T right, T bottom, T top, T zNear, T zFar)</td></tr>
<tr class="memdesc:gad122a79aadaa5529cec4ac197203db7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for an orthographic parallel viewing volume, using left-handedness. <a href="a00171.html#gad122a79aadaa5529cec4ac197203db7f">More...</a><br /></td></tr>
<tr class="separator:gad122a79aadaa5529cec4ac197203db7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16264c9b838edeb9dd1de7a1010a13a4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga16264c9b838edeb9dd1de7a1010a13a4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga16264c9b838edeb9dd1de7a1010a13a4">orthoRH</a> (T left, T right, T bottom, T top, T zNear, T zFar)</td></tr>
<tr class="memdesc:ga16264c9b838edeb9dd1de7a1010a13a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for an orthographic parallel viewing volume, using right-handedness. <a href="a00171.html#ga16264c9b838edeb9dd1de7a1010a13a4">More...</a><br /></td></tr>
<tr class="separator:ga16264c9b838edeb9dd1de7a1010a13a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga747c8cf99458663dd7ad1bb3a2f07787"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga747c8cf99458663dd7ad1bb3a2f07787"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga747c8cf99458663dd7ad1bb3a2f07787">perspective</a> (T fovy, T aspect, T near, T far)</td></tr>
<tr class="memdesc:ga747c8cf99458663dd7ad1bb3a2f07787"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a symetric perspective-view frustum based on the default handedness. <a href="a00171.html#ga747c8cf99458663dd7ad1bb3a2f07787">More...</a><br /></td></tr>
<tr class="separator:ga747c8cf99458663dd7ad1bb3a2f07787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebd02240fd36e85ad754f02ddd9a560d"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaebd02240fd36e85ad754f02ddd9a560d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gaebd02240fd36e85ad754f02ddd9a560d">perspectiveFov</a> (T fov, T width, T height, T near, T far)</td></tr>
<tr class="memdesc:gaebd02240fd36e85ad754f02ddd9a560d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a perspective projection matrix based on a field of view and the default handedness. <a href="a00171.html#gaebd02240fd36e85ad754f02ddd9a560d">More...</a><br /></td></tr>
<tr class="separator:gaebd02240fd36e85ad754f02ddd9a560d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6aebe16c164bd8e52554cbe0304ef4aa"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6aebe16c164bd8e52554cbe0304ef4aa"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga6aebe16c164bd8e52554cbe0304ef4aa">perspectiveFovLH</a> (T fov, T width, T height, T near, T far)</td></tr>
<tr class="memdesc:ga6aebe16c164bd8e52554cbe0304ef4aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a left handed perspective projection matrix based on a field of view. <a href="a00171.html#ga6aebe16c164bd8e52554cbe0304ef4aa">More...</a><br /></td></tr>
<tr class="separator:ga6aebe16c164bd8e52554cbe0304ef4aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf32bf563f28379c68554a44ee60c6a85"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf32bf563f28379c68554a44ee60c6a85"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gaf32bf563f28379c68554a44ee60c6a85">perspectiveFovRH</a> (T fov, T width, T height, T near, T far)</td></tr>
<tr class="memdesc:gaf32bf563f28379c68554a44ee60c6a85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a right handed perspective projection matrix based on a field of view. <a href="a00171.html#gaf32bf563f28379c68554a44ee60c6a85">More...</a><br /></td></tr>
<tr class="separator:gaf32bf563f28379c68554a44ee60c6a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bd34951dc7022ac256fcb51d7f6fc2f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga9bd34951dc7022ac256fcb51d7f6fc2f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga9bd34951dc7022ac256fcb51d7f6fc2f">perspectiveLH</a> (T fovy, T aspect, T near, T far)</td></tr>
<tr class="memdesc:ga9bd34951dc7022ac256fcb51d7f6fc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a left handed, symetric perspective-view frustum. <a href="a00171.html#ga9bd34951dc7022ac256fcb51d7f6fc2f">More...</a><br /></td></tr>
<tr class="separator:ga9bd34951dc7022ac256fcb51d7f6fc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26b88757fbd90601b80768a7e1ad3aa1"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga26b88757fbd90601b80768a7e1ad3aa1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga26b88757fbd90601b80768a7e1ad3aa1">perspectiveRH</a> (T fovy, T aspect, T near, T far)</td></tr>
<tr class="memdesc:ga26b88757fbd90601b80768a7e1ad3aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a right handed, symetric perspective-view frustum. <a href="a00171.html#ga26b88757fbd90601b80768a7e1ad3aa1">More...</a><br /></td></tr>
<tr class="separator:ga26b88757fbd90601b80768a7e1ad3aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae20625c9ae626df6fc75c0044dc6b6c1"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P, typename U &gt; </td></tr>
<tr class="memitem:gae20625c9ae626df6fc75c0044dc6b6c1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gae20625c9ae626df6fc75c0044dc6b6c1">pickMatrix</a> (vec&lt; 2, T, P &gt; const &amp;center, vec&lt; 2, T, P &gt; const &amp;delta, vec&lt; 4, U, P &gt; const &amp;viewport)</td></tr>
<tr class="memdesc:gae20625c9ae626df6fc75c0044dc6b6c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a picking region. <a href="a00171.html#gae20625c9ae626df6fc75c0044dc6b6c1">More...</a><br /></td></tr>
<tr class="separator:gae20625c9ae626df6fc75c0044dc6b6c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b616336e4df50f36ef118b322900b59"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , qualifier P&gt; </td></tr>
<tr class="memitem:ga4b616336e4df50f36ef118b322900b59"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec&lt; 3, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga4b616336e4df50f36ef118b322900b59">project</a> (vec&lt; 3, T, P &gt; const &amp;obj, mat&lt; 4, 4, T, P &gt; const &amp;model, mat&lt; 4, 4, T, P &gt; const &amp;proj, vec&lt; 4, U, P &gt; const &amp;viewport)</td></tr>
<tr class="memdesc:ga4b616336e4df50f36ef118b322900b59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. <a href="a00171.html#ga4b616336e4df50f36ef118b322900b59">More...</a><br /></td></tr>
<tr class="separator:ga4b616336e4df50f36ef118b322900b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb3cdbaa07a2cbe4eeb197120b8ee875"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P&gt; </td></tr>
<tr class="memitem:gafb3cdbaa07a2cbe4eeb197120b8ee875"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gafb3cdbaa07a2cbe4eeb197120b8ee875">rotate</a> (mat&lt; 4, 4, T, P &gt; const &amp;m, T angle, vec&lt; 3, T, P &gt; const &amp;axis)</td></tr>
<tr class="memdesc:gafb3cdbaa07a2cbe4eeb197120b8ee875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a rotation 4 * 4 matrix created from an axis vector and an angle. <a href="a00171.html#gafb3cdbaa07a2cbe4eeb197120b8ee875">More...</a><br /></td></tr>
<tr class="separator:gafb3cdbaa07a2cbe4eeb197120b8ee875"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac75b07513cf3f87d8ccbf3a55c5e24b9"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P&gt; </td></tr>
<tr class="memitem:gac75b07513cf3f87d8ccbf3a55c5e24b9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gac75b07513cf3f87d8ccbf3a55c5e24b9">scale</a> (mat&lt; 4, 4, T, P &gt; const &amp;m, vec&lt; 3, T, P &gt; const &amp;v)</td></tr>
<tr class="memdesc:gac75b07513cf3f87d8ccbf3a55c5e24b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a scale 4 * 4 matrix created from 3 scalars. <a href="a00171.html#gac75b07513cf3f87d8ccbf3a55c5e24b9">More...</a><br /></td></tr>
<tr class="separator:gac75b07513cf3f87d8ccbf3a55c5e24b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c700e9d287defe4cd4480170c123c8f"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier P&gt; </td></tr>
<tr class="memitem:ga8c700e9d287defe4cd4480170c123c8f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga8c700e9d287defe4cd4480170c123c8f">translate</a> (mat&lt; 4, 4, T, P &gt; const &amp;m, vec&lt; 3, T, P &gt; const &amp;v)</td></tr>
<tr class="memdesc:ga8c700e9d287defe4cd4480170c123c8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a translation 4 * 4 matrix created from a vector of 3 components. <a href="a00171.html#ga8c700e9d287defe4cd4480170c123c8f">More...</a><br /></td></tr>
<tr class="separator:ga8c700e9d287defe4cd4480170c123c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaeacc04a2a6f4b18c5899d37e7bb3ef9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaaeacc04a2a6f4b18c5899d37e7bb3ef9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gaaeacc04a2a6f4b18c5899d37e7bb3ef9">tweakedInfinitePerspective</a> (T fovy, T aspect, T near)</td></tr>
<tr class="memdesc:gaaeacc04a2a6f4b18c5899d37e7bb3ef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. <a href="a00171.html#gaaeacc04a2a6f4b18c5899d37e7bb3ef9">More...</a><br /></td></tr>
<tr class="separator:gaaeacc04a2a6f4b18c5899d37e7bb3ef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5b3c85ff6737030a1d2214474ffa7a8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf5b3c85ff6737030a1d2214474ffa7a8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#gaf5b3c85ff6737030a1d2214474ffa7a8">tweakedInfinitePerspective</a> (T fovy, T aspect, T near, T ep)</td></tr>
<tr class="memdesc:gaf5b3c85ff6737030a1d2214474ffa7a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. <a href="a00171.html#gaf5b3c85ff6737030a1d2214474ffa7a8">More...</a><br /></td></tr>
<tr class="separator:gaf5b3c85ff6737030a1d2214474ffa7a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c53bd10f9c6129d98c78052528e9bc7"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , qualifier P&gt; </td></tr>
<tr class="memitem:ga0c53bd10f9c6129d98c78052528e9bc7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec&lt; 3, T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga0c53bd10f9c6129d98c78052528e9bc7">unProject</a> (vec&lt; 3, T, P &gt; const &amp;win, mat&lt; 4, 4, T, P &gt; const &amp;model, mat&lt; 4, 4, T, P &gt; const &amp;proj, vec&lt; 4, U, P &gt; const &amp;viewport)</td></tr>
<tr class="memdesc:ga0c53bd10f9c6129d98c78052528e9bc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. <a href="a00171.html#ga0c53bd10f9c6129d98c78052528e9bc7">More...</a><br /></td></tr>
<tr class="separator:ga0c53bd10f9c6129d98c78052528e9bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Defines functions that generate common transformation matrices. </p>
<p>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.</p>
<p>&lt;<a class="el" href="a00074.html" title="GLM_GTC_matrix_transform ">glm/gtc/matrix_transform.hpp</a>&gt; need to be included to use these functionalities. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga0bcd4542e0affc63a0b8c08fcb839ea9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::frustum </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a frustum matrix with default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
<tr><td class="paramname">near</td><td></td></tr>
<tr><td class="paramname">far</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gae4277c37f61d81da01bc9db14ea90296"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::frustumLH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a left handed frustum matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
<tr><td class="paramname">near</td><td></td></tr>
<tr><td class="paramname">far</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4366ab45880c6c5f8b3e8c371ca4b136"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::frustumRH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a right handed frustum matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
<tr><td class="paramname">near</td><td></td></tr>
<tr><td class="paramname">far</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga44fa38a18349450325cae2661bb115ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::infinitePerspective </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga3201b30f5b3ea0f933246d87bfb992a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::infinitePerspectiveLH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga99672ffe5714ef478dab2437255fe7e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::infinitePerspectiveRH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gadfb9f3590ddbb575c90da4e190a6268d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::lookAt </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>eye</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>center</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>up</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a look at view matrix based on the default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eye</td><td>Position of the camera </td></tr>
<tr><td class="paramname">center</td><td>Position where the camera is looking at </td></tr>
<tr><td class="paramname">up</td><td>Normalized up vector, how the camera is oriented. Typically (0, 0, 1) </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- frustum(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; nearVal, T const &amp; farVal) frustum(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; nearVal, T const &amp; farVal) </dd></dl>
</div>
</div>
<a class="anchor" id="gadac005945f9000cae3c8c8d5dc10d266"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::lookAtLH </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>eye</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>center</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>up</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a left handed look at view matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eye</td><td>Position of the camera </td></tr>
<tr><td class="paramname">center</td><td>Position where the camera is looking at </td></tr>
<tr><td class="paramname">up</td><td>Normalized up vector, how the camera is oriented. Typically (0, 0, 1) </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- frustum(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; nearVal, T const &amp; farVal) frustum(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; nearVal, T const &amp; farVal) </dd></dl>
</div>
</div>
<a class="anchor" id="ga753f57ea9773bf53b88d0d242147bfc3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::lookAtRH </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>eye</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>center</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>up</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a right handed look at view matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">eye</td><td>Position of the camera </td></tr>
<tr><td class="paramname">center</td><td>Position where the camera is looking at </td></tr>
<tr><td class="paramname">up</td><td>Normalized up vector, how the camera is oriented. Typically (0, 0, 1) </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- frustum(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; nearVal, T const &amp; farVal) frustum(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; nearVal, T const &amp; farVal) </dd></dl>
</div>
</div>
<a class="anchor" id="ga6615d8a9d39432e279c4575313ecb456"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::ortho </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>zNear</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>zFar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for an orthographic parallel viewing volume, using the default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
<tr><td class="paramname">zNear</td><td></td></tr>
<tr><td class="paramname">zFar</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- glm::ortho(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top) </dd></dl>
</div>
</div>
<a class="anchor" id="gae5b6b40ed882cd56cd7cb97701909c06"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::ortho </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for projecting two-dimensional coordinates onto the screen. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- glm::ortho(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top, T const &amp; zNear, T const &amp; zFar) </dd></dl>
</div>
</div>
<a class="anchor" id="gad122a79aadaa5529cec4ac197203db7f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::orthoLH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>zNear</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>zFar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for an orthographic parallel viewing volume, using left-handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
<tr><td class="paramname">zNear</td><td></td></tr>
<tr><td class="paramname">zFar</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- glm::ortho(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top) </dd></dl>
</div>
</div>
<a class="anchor" id="ga16264c9b838edeb9dd1de7a1010a13a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::orthoRH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>zNear</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>zFar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for an orthographic parallel viewing volume, using right-handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">left</td><td></td></tr>
<tr><td class="paramname">right</td><td></td></tr>
<tr><td class="paramname">bottom</td><td></td></tr>
<tr><td class="paramname">top</td><td></td></tr>
<tr><td class="paramname">zNear</td><td></td></tr>
<tr><td class="paramname">zFar</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- glm::ortho(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top) </dd></dl>
</div>
</div>
<a class="anchor" id="ga747c8cf99458663dd7ad1bb3a2f07787"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::perspective </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a symetric perspective-view frustum based on the default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">far</td><td>Specifies the distance from the viewer to the far clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaebd02240fd36e85ad754f02ddd9a560d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::perspectiveFov </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fov</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a perspective projection matrix based on a field of view and the default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fov</td><td>Expressed in radians. </td></tr>
<tr><td class="paramname">width</td><td></td></tr>
<tr><td class="paramname">height</td><td></td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">far</td><td>Specifies the distance from the viewer to the far clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga6aebe16c164bd8e52554cbe0304ef4aa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::perspectiveFovLH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fov</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a left handed perspective projection matrix based on a field of view. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fov</td><td>Expressed in radians. </td></tr>
<tr><td class="paramname">width</td><td></td></tr>
<tr><td class="paramname">height</td><td></td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">far</td><td>Specifies the distance from the viewer to the far clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaf32bf563f28379c68554a44ee60c6a85"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::perspectiveFovRH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fov</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a right handed perspective projection matrix based on a field of view. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fov</td><td>Expressed in radians. </td></tr>
<tr><td class="paramname">width</td><td></td></tr>
<tr><td class="paramname">height</td><td></td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">far</td><td>Specifies the distance from the viewer to the far clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga9bd34951dc7022ac256fcb51d7f6fc2f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::perspectiveLH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a left handed, symetric perspective-view frustum. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">far</td><td>Specifies the distance from the viewer to the far clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga26b88757fbd90601b80768a7e1ad3aa1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::perspectiveRH </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>far</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a right handed, symetric perspective-view frustum. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">far</td><td>Specifies the distance from the viewer to the far clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gae20625c9ae626df6fc75c0044dc6b6c1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::pickMatrix </td>
<td>(</td>
<td class="paramtype">vec&lt; 2, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>center</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 2, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 4, U, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>viewport</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Define a picking region. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">center</td><td></td></tr>
<tr><td class="paramname">delta</td><td></td></tr>
<tr><td class="paramname">viewport</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Native type used for the computation. Currently supported: half (not recommanded), float or double. </td></tr>
<tr><td class="paramname">U</td><td>Currently supported: Floating-point types and integer types. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4b616336e4df50f36ef118b322900b59"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL vec&lt;3, T, P&gt; glm::project </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>proj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 4, U, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>viewport</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>Specify the object coordinates. </td></tr>
<tr><td class="paramname">model</td><td>Specifies the current modelview matrix </td></tr>
<tr><td class="paramname">proj</td><td>Specifies the current projection matrix </td></tr>
<tr><td class="paramname">viewport</td><td>Specifies the current viewport </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return the computed window coordinates. </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Native type used for the computation. Currently supported: half (not recommanded), float or double. </td></tr>
<tr><td class="paramname">U</td><td>Currently supported: Floating-point types and integer types. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gafb3cdbaa07a2cbe4eeb197120b8ee875"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::rotate </td>
<td>(</td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>m</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>axis</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a rotation 4 * 4 matrix created from an axis vector and an angle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">m</td><td>Input matrix multiplied by this rotation matrix. </td></tr>
<tr><td class="paramname">angle</td><td>Rotation angle expressed in radians. </td></tr>
<tr><td class="paramname">axis</td><td>Rotation axis, recommended to be normalized. </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Supported: half, float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- rotate(mat&lt;4, 4, T, P&gt; const &amp; m, T angle, T x, T y, T z) </dd>
<dd>
- rotate(T angle, vec&lt;3, T, P&gt; const &amp; v) </dd></dl>
</div>
</div>
<a class="anchor" id="gac75b07513cf3f87d8ccbf3a55c5e24b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::scale </td>
<td>(</td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>m</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a scale 4 * 4 matrix created from 3 scalars. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">m</td><td>Input matrix multiplied by this scale matrix. </td></tr>
<tr><td class="paramname">v</td><td>Ratio of scaling for each axis. </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommended), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- scale(mat&lt;4, 4, T, P&gt; const &amp; m, T x, T y, T z) </dd>
<dd>
- scale(vec&lt;3, T, P&gt; const &amp; v) </dd></dl>
</div>
</div>
<a class="anchor" id="ga8c700e9d287defe4cd4480170c123c8f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, P&gt; glm::translate </td>
<td>(</td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>m</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds a translation 4 * 4 matrix created from a vector of 3 components. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">m</td><td>Input matrix multiplied by this translation matrix. </td></tr>
<tr><td class="paramname">v</td><td>Coordinates of a translation vector. </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. <div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00043.html">glm/glm.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00074.html">glm/gtc/matrix_transform.hpp</a>&gt;</span></div>
<div class="line">...</div>
<div class="line">glm::mat4 m = <a class="code" href="a00171.html#ga8c700e9d287defe4cd4480170c123c8f">glm::translate</a>(<a class="code" href="a00159.html#gade0eb47c01f79384a6f38017ede17446">glm::mat4</a>(1.0f), <a class="code" href="a00159.html#gaa8ea2429bb3cb41a715258a447f39897">glm::vec3</a>(1.0f));</div>
<div class="line"><span class="comment">// m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f</span></div>
<div class="line"><span class="comment">// m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f</span></div>
<div class="line"><span class="comment">// m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f</span></div>
<div class="line"><span class="comment">// m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f</span></div>
</div><!-- fragment --> </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- translate(mat&lt;4, 4, T, P&gt; const &amp; m, T x, T y, T z) </dd>
<dd>
- translate(vec&lt;3, T, P&gt; const &amp; v) </dd></dl>
</div>
</div>
<a class="anchor" id="gaaeacc04a2a6f4b18c5899d37e7bb3ef9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::tweakedInfinitePerspective </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaf5b3c85ff6737030a1d2214474ffa7a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, defaultp&gt; glm::tweakedInfinitePerspective </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>ep</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. </td></tr>
<tr><td class="paramname">aspect</td><td>Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). </td></tr>
<tr><td class="paramname">near</td><td>Specifies the distance from the viewer to the near clipping plane (always positive). </td></tr>
<tr><td class="paramname">ep</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga0c53bd10f9c6129d98c78052528e9bc7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL vec&lt;3, T, P&gt; glm::unProject </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>win</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mat&lt; 4, 4, T, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>proj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 4, U, P &gt; const &amp;&#160;</td>
<td class="paramname"><em>viewport</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">win</td><td>Specify the window coordinates to be mapped. </td></tr>
<tr><td class="paramname">model</td><td>Specifies the modelview matrix </td></tr>
<tr><td class="paramname">proj</td><td>Specifies the projection matrix </td></tr>
<tr><td class="paramname">viewport</td><td>Specifies the viewport </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the computed object coordinates. </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Native type used for the computation. Currently supported: half (not recommanded), float or double. </td></tr>
<tr><td class="paramname">U</td><td>Currently supported: Floating-point types and integer types. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00171.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>