glm/doc/api/a00176.html
2013-12-25 23:48:55 +01:00

911 lines
43 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.5"/>
<title>GLM: 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="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 style="padding-left: 0.5em;">
<div id="projectname">GLM
&#160;<span id="projectnumber">0.9.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</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">GLM_GTC_matrix_transform<div class="ingroups"><a class="el" href="a00164.html">GTC Extensions (Stable)</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:ga4e1138c8a4bcc3bbbb40090d8441b0a5"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga4e1138c8a4bcc3bbbb40090d8441b0a5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga4e1138c8a4bcc3bbbb40090d8441b0a5">frustum</a> (T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top, T const &amp;near, T const &amp;far)</td></tr>
<tr class="separator:ga4e1138c8a4bcc3bbbb40090d8441b0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e5b5501b0113d0ed76ba4e3a8e5523c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga7e5b5501b0113d0ed76ba4e3a8e5523c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga7e5b5501b0113d0ed76ba4e3a8e5523c">infinitePerspective</a> (T fovy, T aspect, T near)</td></tr>
<tr class="separator:ga7e5b5501b0113d0ed76ba4e3a8e5523c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga454fdf3163c2779eeeeeb9d75907ce97"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga454fdf3163c2779eeeeeb9d75907ce97"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga454fdf3163c2779eeeeeb9d75907ce97">lookAt</a> (detail::tvec3&lt; T, P &gt; const &amp;eye, detail::tvec3&lt; T, P &gt; const &amp;center, detail::tvec3&lt; T, P &gt; const &amp;up)</td></tr>
<tr class="separator:ga454fdf3163c2779eeeeeb9d75907ce97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac393e9262776e4980731c386123e4377"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gac393e9262776e4980731c386123e4377"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gac393e9262776e4980731c386123e4377">ortho</a> (T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top, T const &amp;zNear, T const &amp;zFar)</td></tr>
<tr class="separator:gac393e9262776e4980731c386123e4377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab03587bce3510aa5d2f4e5f1be6c2370"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gab03587bce3510aa5d2f4e5f1be6c2370"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gab03587bce3510aa5d2f4e5f1be6c2370">ortho</a> (T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top)</td></tr>
<tr class="separator:gab03587bce3510aa5d2f4e5f1be6c2370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24983212d8d25b5b32e30d574dfccd1c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga24983212d8d25b5b32e30d574dfccd1c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga24983212d8d25b5b32e30d574dfccd1c">perspective</a> (T const &amp;fovy, T const &amp;aspect, T const &amp;near, T const &amp;far)</td></tr>
<tr class="separator:ga24983212d8d25b5b32e30d574dfccd1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e820c9c692e28041be6d7c7042e4e4a"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga7e820c9c692e28041be6d7c7042e4e4a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga7e820c9c692e28041be6d7c7042e4e4a">perspectiveFov</a> (T const &amp;fov, T const &amp;width, T const &amp;height, T const &amp;near, T const &amp;far)</td></tr>
<tr class="separator:ga7e820c9c692e28041be6d7c7042e4e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fb64f04bf5ad52523fcd4b10b46aff6"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, typename U &gt; </td></tr>
<tr class="memitem:ga0fb64f04bf5ad52523fcd4b10b46aff6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga0fb64f04bf5ad52523fcd4b10b46aff6">pickMatrix</a> (detail::tvec2&lt; T, P &gt; const &amp;center, detail::tvec2&lt; T, P &gt; const &amp;delta, detail::tvec4&lt; U, P &gt; const &amp;viewport)</td></tr>
<tr class="separator:ga0fb64f04bf5ad52523fcd4b10b46aff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41227b7b98882dcbaa8dab52df372c7b"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P&gt; </td></tr>
<tr class="memitem:ga41227b7b98882dcbaa8dab52df372c7b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga41227b7b98882dcbaa8dab52df372c7b">project</a> (detail::tvec3&lt; T, P &gt; const &amp;obj, detail::tmat4x4&lt; T, P &gt; const &amp;model, detail::tmat4x4&lt; T, P &gt; const &amp;proj, detail::tvec4&lt; U, P &gt; const &amp;viewport)</td></tr>
<tr class="separator:ga41227b7b98882dcbaa8dab52df372c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61e65a3bb227c267d1a15113d1056fb1"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga61e65a3bb227c267d1a15113d1056fb1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga61e65a3bb227c267d1a15113d1056fb1">rotate</a> (detail::tmat4x4&lt; T, P &gt; const &amp;m, T const &amp;angle, detail::tvec3&lt; T, P &gt; const &amp;axis)</td></tr>
<tr class="separator:ga61e65a3bb227c267d1a15113d1056fb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd40959f269abd16c256a4f59ab03d62"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:gabd40959f269abd16c256a4f59ab03d62"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gabd40959f269abd16c256a4f59ab03d62">scale</a> (detail::tmat4x4&lt; T, P &gt; const &amp;m, detail::tvec3&lt; T, P &gt; const &amp;v)</td></tr>
<tr class="separator:gabd40959f269abd16c256a4f59ab03d62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1501de0fa580dcc491b67e0685bbc7c2"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga1501de0fa580dcc491b67e0685bbc7c2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga1501de0fa580dcc491b67e0685bbc7c2">translate</a> (detail::tmat4x4&lt; T, P &gt; const &amp;m, detail::tvec3&lt; T, P &gt; const &amp;v)</td></tr>
<tr class="separator:ga1501de0fa580dcc491b67e0685bbc7c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga460dc59dd0debb5113f4a118251bff61"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
<tr class="memitem:ga460dc59dd0debb5113f4a118251bff61"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tmat4x4<br class="typebreak"/>
&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga460dc59dd0debb5113f4a118251bff61">tweakedInfinitePerspective</a> (T fovy, T aspect, T near)</td></tr>
<tr class="separator:ga460dc59dd0debb5113f4a118251bff61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b0a9086d15e2a743ecd7b6128146af1"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P&gt; </td></tr>
<tr class="memitem:ga4b0a9086d15e2a743ecd7b6128146af1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga4b0a9086d15e2a743ecd7b6128146af1">unProject</a> (detail::tvec3&lt; T, P &gt; const &amp;win, detail::tmat4x4&lt; T, P &gt; const &amp;model, detail::tmat4x4&lt; T, P &gt; const &amp;proj, detail::tvec4&lt; U, P &gt; const &amp;viewport)</td></tr>
<tr class="separator:ga4b0a9086d15e2a743ecd7b6128146af1"><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="a00080.html" title="OpenGL Mathematics (glm.g-truc.net) ">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="ga4e1138c8a4bcc3bbbb40090d8441b0a5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::frustum </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#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. </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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga7e5b5501b0113d0ed76ba4e3a8e5523c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&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. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </td></tr>
<tr><td class="paramname">aspect</td><td></td></tr>
<tr><td class="paramname">near</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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga454fdf3163c2779eeeeeb9d75907ce97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::lookAt </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; 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">detail::tvec3&lt; 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">detail::tvec3&lt; 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. </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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- <a class="el" href="a00176.html#ga4e1138c8a4bcc3bbbb40090d8441b0a5" title="Creates a frustum matrix. ">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)</a> <a class="el" href="a00176.html#ga4e1138c8a4bcc3bbbb40090d8441b0a5" title="Creates a frustum matrix. ">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)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gac393e9262776e4980731c386123e4377"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, defaultp&gt; glm::ortho </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>zNear</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#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. </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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- <a class="el" href="a00176.html#gab03587bce3510aa5d2f4e5f1be6c2370" title="Creates a matrix for projecting two-dimensional coordinates onto the screen. ">glm::ortho(T const &amp; left, T const &amp; right, T const &amp; bottom, T const &amp; top)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gab03587bce3510aa5d2f4e5f1be6c2370"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, defaultp&gt; glm::ortho </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>bottom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
- <a class="el" href="a00176.html#gac393e9262776e4980731c386123e4377" title="Creates a matrix for an orthographic parallel viewing volume. ">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)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga24983212d8d25b5b32e30d574dfccd1c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::perspective </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>fovy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>aspect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#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. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fovy</td><td>Expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </td></tr>
<tr><td class="paramname">aspect</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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga7e820c9c692e28041be6d7c7042e4e4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::perspectiveFov </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>fov</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>near</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#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. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fov</td><td>Expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </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></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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga0fb64f04bf5ad52523fcd4b10b46aff6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::pickMatrix </td>
<td>(</td>
<td class="paramtype">detail::tvec2&lt; 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">detail::tvec2&lt; 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">detail::tvec4&lt; 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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga41227b7b98882dcbaa8dab52df372c7b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tvec3&lt;T, P&gt; glm::project </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; 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">detail::tmat4x4&lt; 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">detail::tmat4x4&lt; 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">detail::tvec4&lt; 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></td></tr>
<tr><td class="paramname">model</td><td></td></tr>
<tr><td class="paramname">proj</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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga61e65a3bb227c267d1a15113d1056fb1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::rotate </td>
<td>(</td>
<td class="paramtype">detail::tmat4x4&lt; 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 const &amp;&#160;</td>
<td class="paramname"><em>angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">detail::tvec3&lt; 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 if GLM_FORCE_RADIANS is define or degrees otherwise. </td></tr>
<tr><td class="paramname">axis</td><td>Rotation axis, recommanded 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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
<a class="el" href="a00231.html" title="Add transformation matrices. ">GLM_GTX_transform</a> </dd>
<dd>
- rotate(T angle, T x, T y, T z) </dd>
<dd>
- rotate(detail::tmat4x4&lt;T, P&gt; const &amp; m, T angle, T x, T y, T z) </dd>
<dd>
- <a class="el" href="a00231.html#ga115fb8c9ef8a665bed518d979211e863" title="Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees...">rotate(T angle, detail::tvec3&lt;T, P&gt; const &amp; v)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gabd40959f269abd16c256a4f59ab03d62"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::scale </td>
<td>(</td>
<td class="paramtype">detail::tmat4x4&lt; 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">detail::tvec3&lt; 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 recommanded), float or double. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
<a class="el" href="a00231.html" title="Add transformation matrices. ">GLM_GTX_transform</a> </dd>
<dd>
- scale(T x, T y, T z) scale(T const &amp; x, T const &amp; y, T const &amp; z) </dd>
<dd>
- scale(detail::tmat4x4&lt;T, P&gt; const &amp; m, T x, T y, T z) </dd>
<dd>
- <a class="el" href="a00231.html#ga85dbd2e3139ff23bdaceea66aa397219" title="Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. ">scale(detail::tvec3&lt;T, P&gt; const &amp; v)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga1501de0fa580dcc491b67e0685bbc7c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&gt; glm::translate </td>
<td>(</td>
<td class="paramtype">detail::tmat4x4&lt; 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">detail::tvec3&lt; 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">* #include &lt;glm/glm.hpp&gt;</div>
<div class="line">* #include &lt;glm/gtc/matrix_transform.hpp&gt;</div>
<div class="line">* ...</div>
<div class="line">* <a class="code" href="a00168.html#gade0eb47c01f79384a6f38017ede17446">glm::mat4</a> m = <a class="code" href="a00176.html#ga1501de0fa580dcc491b67e0685bbc7c2">glm::translate</a>(<a class="code" href="a00168.html#gade0eb47c01f79384a6f38017ede17446">glm::mat4</a>(1.0f), <a class="code" href="a00168.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 class="line">* </div>
</div><!-- fragment --> </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd>
<dd>
<a class="el" href="a00231.html" title="Add transformation matrices. ">GLM_GTX_transform</a> </dd>
<dd>
- translate(T x, T y, T z) </dd>
<dd>
- translate(detail::tmat4x4&lt;T, P&gt; const &amp; m, T x, T y, T z) </dd>
<dd>
- <a class="el" href="a00231.html#gaf2a18383b6fb7bd0a46e496db32ab853" title="Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. ">translate(detail::tvec3&lt;T, P&gt; const &amp; v)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga460dc59dd0debb5113f4a118251bff61"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tmat4x4&lt;T, P&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>Expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </td></tr>
<tr><td class="paramname">aspect</td><td></td></tr>
<tr><td class="paramname">near</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="a00176.html" title="Defines functions that generate common transformation matrices. ">GLM_GTC_matrix_transform</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4b0a9086d15e2a743ecd7b6128146af1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL detail::tvec3&lt;T, P&gt; glm::unProject </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; 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">detail::tmat4x4&lt; 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">detail::tmat4x4&lt; 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">detail::tvec4&lt; 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></td></tr>
<tr><td class="paramname">model</td><td></td></tr>
<tr><td class="paramname">proj</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="a00176.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.5
</small></address>
</body>
</html>