glm/doc/api-0.9.2/a00244.html

646 lines
28 KiB
HTML
Raw Normal View History

2011-10-24 14:24:48 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GLM_GTC_matrix_transform: Matrix transform functions.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<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="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">GLM_GTC_matrix_transform: Matrix transform functions.</div> </div>
<div class="ingroups"><a class="el" href="a00239.html">GTC Extensions (Stable)</a></div></div>
<div class="contents">
<p>Defines functions that generate common transformation matrices.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga517623bf6344a9e276b877366143116a">frustum</a> (T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top, T const &amp;nearVal, T const &amp;farVal)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#gab8bb0d61dfe8a35df79ee3ccc6dd9afe">infinitePerspective</a> (T fovy, T aspect, T zNear)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga2d6b6c381f047ea4d9ca4145fed9edd5">lookAt</a> (detail::tvec3&lt; T &gt; const &amp;eye, detail::tvec3&lt; T &gt; const &amp;center, detail::tvec3&lt; T &gt; const &amp;up)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga71777a3b1d4fe1729cccf6eda05c8127">ortho</a> (T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#gad25e5b029ebefac5b657861378c17aa8">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><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga1bb3652e43f824d8c1dd5b9e60c80437">perspective</a> (T const &amp;fovy, T const &amp;aspect, T const &amp;zNear, T const &amp;zFar)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga2d4fab691ace1abbffb3cdd4cc2316e9">perspectiveFov</a> (valType const &amp;fov, valType const &amp;width, valType const &amp;height, valType const &amp;zNear, valType const &amp;zFar)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga9ebc45c333c8ec63c5047d6c1fcb9415">pickMatrix</a> (detail::tvec2&lt; T &gt; const &amp;center, detail::tvec2&lt; T &gt; const &amp;delta, detail::tvec4&lt; U &gt; const &amp;viewport)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga30e98d64189bae49582de8373de9f09f">project</a> (detail::tvec3&lt; T &gt; const &amp;obj, detail::tmat4x4&lt; T &gt; const &amp;model, detail::tmat4x4&lt; T &gt; const &amp;proj, detail::tvec4&lt; U &gt; const &amp;viewport)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga48168ff70412019857ceb28b3b2b1f5e">rotate</a> (detail::tmat4x4&lt; T &gt; const &amp;m, T const &amp;angle, detail::tvec3&lt; T &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga6da77ee2c33d0d33de557a37ff35b197">scale</a> (detail::tmat4x4&lt; T &gt; const &amp;m, detail::tvec3&lt; T &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#ga4683c446c8432476750ade56f2537397">translate</a> (detail::tmat4x4&lt; T &gt; const &amp;m, detail::tvec3&lt; T &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#gac257959595078f003d6a0e4be6f9a2eb">tweakedInfinitePerspective</a> (T fovy, T aspect, T zNear)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00244.html#gac38d611231b15799a0c06c54ff1ede43">unProject</a> (detail::tvec3&lt; T &gt; const &amp;win, detail::tmat4x4&lt; T &gt; const &amp;model, detail::tmat4x4&lt; T &gt; const &amp;proj, detail::tvec4&lt; U &gt; const &amp;viewport)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>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="a00079_source.html">glm/gtc/matrix_transform.hpp</a>&gt; need to be included to use these functionalities. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga517623bf6344a9e276b877366143116a"></a><!-- doxytag: member="glm::gtc::matrix_transform::frustum" ref="ga517623bf6344a9e276b877366143116a" args="(T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top, T const &amp;nearVal, T const &amp;farVal)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::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>nearVal</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>farVal</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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="gab8bb0d61dfe8a35df79ee3ccc6dd9afe"></a><!-- doxytag: member="glm::gtc::matrix_transform::infinitePerspective" ref="gab8bb0d61dfe8a35df79ee3ccc6dd9afe" args="(T fovy, T aspect, T zNear)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::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>zNear</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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga2d6b6c381f047ea4d9ca4145fed9edd5"></a><!-- doxytag: member="glm::gtc::matrix_transform::lookAt" ref="ga2d6b6c381f047ea4d9ca4145fed9edd5" args="(detail::tvec3&lt; T &gt; const &amp;eye, detail::tvec3&lt; T &gt; const &amp;center, detail::tvec3&lt; T &gt; const &amp;up)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::lookAt </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; T &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 &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 &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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga71777a3b1d4fe1729cccf6eda05c8127"></a><!-- doxytag: member="glm::gtc::matrix_transform::ortho" ref="ga71777a3b1d4fe1729cccf6eda05c8127" args="(T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="gad25e5b029ebefac5b657861378c17aa8"></a><!-- doxytag: member="glm::gtc::matrix_transform::ortho" ref="gad25e5b029ebefac5b657861378c17aa8" args="(T const &amp;left, T const &amp;right, T const &amp;bottom, T const &amp;top, T const &amp;zNear, T const &amp;zFar)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga1bb3652e43f824d8c1dd5b9e60c80437"></a><!-- doxytag: member="glm::gtc::matrix_transform::perspective" ref="ga1bb3652e43f824d8c1dd5b9e60c80437" args="(T const &amp;fovy, T const &amp;aspect, T const &amp;zNear, T const &amp;zFar)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::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>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 a symetric perspective-view frustum. </p>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga2d4fab691ace1abbffb3cdd4cc2316e9"></a><!-- doxytag: member="glm::gtc::matrix_transform::perspectiveFov" ref="ga2d4fab691ace1abbffb3cdd4cc2316e9" args="(valType const &amp;fov, valType const &amp;width, valType const &amp;height, valType const &amp;zNear, valType const &amp;zFar)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtc::matrix_transform::perspectiveFov </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>fov</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>zNear</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType 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>Builds a perspective projection matrix based on a field of view From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga9ebc45c333c8ec63c5047d6c1fcb9415"></a><!-- doxytag: member="glm::gtc::matrix_transform::pickMatrix" ref="ga9ebc45c333c8ec63c5047d6c1fcb9415" args="(detail::tvec2&lt; T &gt; const &amp;center, detail::tvec2&lt; T &gt; const &amp;delta, detail::tvec4&lt; U &gt; const &amp;viewport)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::pickMatrix </td>
<td>(</td>
<td class="paramtype">detail::tvec2&lt; T &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 &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 &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 From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga30e98d64189bae49582de8373de9f09f"></a><!-- doxytag: member="glm::gtc::matrix_transform::project" ref="ga30e98d64189bae49582de8373de9f09f" args="(detail::tvec3&lt; T &gt; const &amp;obj, detail::tmat4x4&lt; T &gt; const &amp;model, detail::tmat4x4&lt; T &gt; const &amp;proj, detail::tvec4&lt; U &gt; const &amp;viewport)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tvec3&lt;T&gt; glm::gtc::matrix_transform::project </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; T &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 &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 &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 &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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga48168ff70412019857ceb28b3b2b1f5e"></a><!-- doxytag: member="glm::gtc::matrix_transform::rotate" ref="ga48168ff70412019857ceb28b3b2b1f5e" args="(detail::tmat4x4&lt; T &gt; const &amp;m, T const &amp;angle, detail::tvec3&lt; T &gt; const &amp;v)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::rotate </td>
<td>(</td>
<td class="paramtype">detail::tmat4x4&lt; T &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 &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 rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees. </p>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga6da77ee2c33d0d33de557a37ff35b197"></a><!-- doxytag: member="glm::gtc::matrix_transform::scale" ref="ga6da77ee2c33d0d33de557a37ff35b197" args="(detail::tmat4x4&lt; T &gt; const &amp;m, detail::tvec3&lt; T &gt; const &amp;v)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::scale </td>
<td>(</td>
<td class="paramtype">detail::tmat4x4&lt; T &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 &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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="ga4683c446c8432476750ade56f2537397"></a><!-- doxytag: member="glm::gtc::matrix_transform::translate" ref="ga4683c446c8432476750ade56f2537397" args="(detail::tmat4x4&lt; T &gt; const &amp;m, detail::tvec3&lt; T &gt; const &amp;v)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::translate </td>
<td>(</td>
<td class="paramtype">detail::tmat4x4&lt; T &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 &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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="gac257959595078f003d6a0e4be6f9a2eb"></a><!-- doxytag: member="glm::gtc::matrix_transform::tweakedInfinitePerspective" ref="gac257959595078f003d6a0e4be6f9a2eb" args="(T fovy, T aspect, T zNear)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtc::matrix_transform::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>zNear</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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
<a class="anchor" id="gac38d611231b15799a0c06c54ff1ede43"></a><!-- doxytag: member="glm::gtc::matrix_transform::unProject" ref="gac38d611231b15799a0c06c54ff1ede43" args="(detail::tvec3&lt; T &gt; const &amp;win, detail::tmat4x4&lt; T &gt; const &amp;model, detail::tmat4x4&lt; T &gt; const &amp;proj, detail::tvec4&lt; U &gt; const &amp;viewport)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tvec3&lt;T&gt; glm::gtc::matrix_transform::unProject </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; T &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 &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 &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 &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>
<p>From GLM_GTC_matrix_transform extension. </p>
</div>
</div>
</div>
<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.7.4 </small></address>
</body>
</html>