glm/doc/api/a00153.html

456 lines
23 KiB
HTML
Raw Normal View History

<!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_type_ptr: Memory layout access</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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>
<!-- Generated by Doxygen 1.7.5.1 -->
<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="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_type_ptr: Memory layout access</div> </div>
<div class="ingroups"><a class="el" href="a00136.html">GTC Extensions (Stable)</a></div></div>
<div class="contents">
<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::tmat2x2&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gafd896ef261762a6ab412b61181d5ecae">make_mat2</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat2x2&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga1d0007368a23e89e4a0efcda06c1fa27">make_mat2x2</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat2x3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga87d29f47fbd3990a344be2eac404aee3">make_mat2x3</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat2x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaab3df4b27b38505f1413f507ebc43d18">make_mat2x4</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gacd8f067b4fb7bd3d48663102b5178ef2">make_mat3</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x2&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga8764d696bd4dfb91d689ca196414b36b">make_mat3x2</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga56ddd61c1c64dba464e392b2c2011226">make_mat3x3</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaae2b48f5109461f13f63ccf5b4cde672">make_mat3x4</a> (T const *const ptr)</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="a00153.html#ga723dd6241d4edf2ad48b25e5007054a7">make_mat4</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x2&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga3717ecbb38c8a24043ee17bdff94bca5">make_mat4x2</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gae91cc925c4154c5fe4ef1fc7da96a9a8">make_mat4x3</a> (T const *const ptr)</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="a00153.html#gaa287485a3978d319e60a1cadd8a1c139">make_mat4x4</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tquat&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga341b6592d08bc2e3871ceec05e0c060d">make_quat</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec2&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga60e64ef452541f76f7b5b4e04b18062a">make_vec2</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &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="a00153.html#ga0e2e7d24d80edb5a95a86c6a76ae5a41">make_vec3</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tvec4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga5d91c17941c35effc46b335ad6fb6252">make_vec4</a> (T const *const ptr)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType::value_type const *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga140f5c39d519780c61e02e47daa7d18a">value_ptr</a> (genType const &amp;vec)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Handles the interaction between pointers and vector, matrix types. </p>
<p>This extension defines an overloaded function, glm::value_ptr, which takes any of the <a class="el" href="a00142.html">core template types</a>. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.</p>
<p>This is useful for uploading data to matrices or copying data to buffer objects.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="a00035.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/glm.hpp</a>&gt;</span>
<span class="preprocessor"> #include &lt;<a class="code" href="a00108.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/gtc/type_ptr.hpp</a>&gt;</span>
<a class="code" href="a00140.html#ga8a44105c47072f9ea1413f15faa31f64" title="3 components vector of floating-point numbers.">glm::vec3</a> aVector(3);
<a class="code" href="a00140.html#gade0eb47c01f79384a6f38017ede17446" title="4 columns of 4 components matrix of floating-point numbers.">glm::mat4</a> someMatrix(1.0);
glUniform3fv(uniformLoc, 1, <a class="code" href="a00153.html#ga140f5c39d519780c61e02e47daa7d18a" title="Return the constant address to the data of the input parameter.">glm::value_ptr</a>(aVector));
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, <a class="code" href="a00153.html#ga140f5c39d519780c61e02e47daa7d18a" title="Return the constant address to the data of the input parameter.">glm::value_ptr</a>(someMatrix));
</pre></div><p>&lt;<a class="el" href="a00108.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/gtc/type_ptr.hpp</a>&gt; need to be included to use these functionalities. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gafd896ef261762a6ab412b61181d5ecae"></a><!-- doxytag: member="glm::make_mat2" ref="gafd896ef261762a6ab412b61181d5ecae" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat2x2&lt;T&gt; glm::make_mat2 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga1d0007368a23e89e4a0efcda06c1fa27"></a><!-- doxytag: member="glm::make_mat2x2" ref="ga1d0007368a23e89e4a0efcda06c1fa27" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat2x2&lt;T&gt; glm::make_mat2x2 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga87d29f47fbd3990a344be2eac404aee3"></a><!-- doxytag: member="glm::make_mat2x3" ref="ga87d29f47fbd3990a344be2eac404aee3" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat2x3&lt;T&gt; glm::make_mat2x3 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaab3df4b27b38505f1413f507ebc43d18"></a><!-- doxytag: member="glm::make_mat2x4" ref="gaab3df4b27b38505f1413f507ebc43d18" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat2x4&lt;T&gt; glm::make_mat2x4 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gacd8f067b4fb7bd3d48663102b5178ef2"></a><!-- doxytag: member="glm::make_mat3" ref="gacd8f067b4fb7bd3d48663102b5178ef2" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat3x3&lt;T&gt; glm::make_mat3 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga8764d696bd4dfb91d689ca196414b36b"></a><!-- doxytag: member="glm::make_mat3x2" ref="ga8764d696bd4dfb91d689ca196414b36b" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat3x2&lt;T&gt; glm::make_mat3x2 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga56ddd61c1c64dba464e392b2c2011226"></a><!-- doxytag: member="glm::make_mat3x3" ref="ga56ddd61c1c64dba464e392b2c2011226" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat3x3&lt;T&gt; glm::make_mat3x3 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaae2b48f5109461f13f63ccf5b4cde672"></a><!-- doxytag: member="glm::make_mat3x4" ref="gaae2b48f5109461f13f63ccf5b4cde672" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat3x4&lt;T&gt; glm::make_mat3x4 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga723dd6241d4edf2ad48b25e5007054a7"></a><!-- doxytag: member="glm::make_mat4" ref="ga723dd6241d4edf2ad48b25e5007054a7" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::make_mat4 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga3717ecbb38c8a24043ee17bdff94bca5"></a><!-- doxytag: member="glm::make_mat4x2" ref="ga3717ecbb38c8a24043ee17bdff94bca5" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x2&lt;T&gt; glm::make_mat4x2 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gae91cc925c4154c5fe4ef1fc7da96a9a8"></a><!-- doxytag: member="glm::make_mat4x3" ref="gae91cc925c4154c5fe4ef1fc7da96a9a8" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x3&lt;T&gt; glm::make_mat4x3 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaa287485a3978d319e60a1cadd8a1c139"></a><!-- doxytag: member="glm::make_mat4x4" ref="gaa287485a3978d319e60a1cadd8a1c139" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::make_mat4x4 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a matrix from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga341b6592d08bc2e3871ceec05e0c060d"></a><!-- doxytag: member="glm::make_quat" ref="ga341b6592d08bc2e3871ceec05e0c060d" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tquat&lt;T&gt; glm::make_quat </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a quaternion from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga60e64ef452541f76f7b5b4e04b18062a"></a><!-- doxytag: member="glm::make_vec2" ref="ga60e64ef452541f76f7b5b4e04b18062a" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tvec2&lt;T&gt; glm::make_vec2 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a vector from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga0e2e7d24d80edb5a95a86c6a76ae5a41"></a><!-- doxytag: member="glm::make_vec3" ref="ga0e2e7d24d80edb5a95a86c6a76ae5a41" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tvec3&lt;T&gt; glm::make_vec3 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a vector from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga5d91c17941c35effc46b335ad6fb6252"></a><!-- doxytag: member="glm::make_vec4" ref="ga5d91c17941c35effc46b335ad6fb6252" args="(T const *const ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tvec4&lt;T&gt; glm::make_vec4 </td>
<td>(</td>
<td class="paramtype">T const *const&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Build a vector from a pointer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga140f5c39d519780c61e02e47daa7d18a"></a><!-- doxytag: member="glm::value_ptr" ref="ga140f5c39d519780c61e02e47daa7d18a" args="(genType const &amp;vec)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">genType::value_type const* glm::value_ptr </td>
<td>(</td>
<td class="paramtype">genType const &amp;&#160;</td>
<td class="paramname"><em>vec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the constant address to the data of the input parameter. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00153.html" title="Handles the interaction between pointers and vector, matrix types.">GLM_GTC_type_ptr: Memory layout access</a> </dd></dl>
</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.5.1
</small></address>
</body>
</html>