mirror of
https://github.com/g-truc/glm.git
synced 2024-11-29 19:34:36 +00:00
Merge branch '0.9.2' into 0.9.3
This commit is contained in:
commit
9e1bc811e3
@ -11,8 +11,8 @@
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">
|
||||
Download GLM 0.9.2.0</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title-date"> </div><div class="title4"> </div><div><p>
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">
|
||||
Download GLM 0.9.2.1</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM)<br />A C++ mathematics library for graphics programming<br /></div><br /><br /><div><div class="title-date"> </div><div class="title4"> </div><div><p>
|
||||
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software
|
||||
based on the <a href="http://www.opengl.org/documentation/glsl/">OpenGL Shading Language (GLSL)</a> specification.
|
||||
</p><p>
|
||||
@ -32,4 +32,5 @@
|
||||
</p><p>
|
||||
Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets</a> for bug reports and feature requests. (SF.net account required).
|
||||
Any feedback is welcome at glm@g-truc.net.
|
||||
</p><div xmlns="http://www.w3.org/1999/xhtml"><span class="list">GLM is written as a platform independent library with no dependence and officially supports the following compilers:</span><ul><li><a xmlns="" href="http://http://gcc.gnu.org/">GCC</a> 3.4 and higher</li><li><a xmlns="" href="http://llvm.org/">LLVM</a> 2.3 through GCC 4.2 front-end and higher</li><li><a xmlns="" href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</a> 2005 and higher</li><li>Any C++ compiler following C++98 norm</li></ul></div></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">Copyright © 2005 - 2011<a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>
|
||||
</p><div xmlns="http://www.w3.org/1999/xhtml"><span class="list">GLM is written as a platform independent library with no dependence and officially supports the following compilers:</span><ul><li><a xmlns="" href="http://clang.llvm.org">Clang</a> 2.0 and higher</li><li><a xmlns="" href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA</a> 3.0 and higher
|
||||
</li><li><a xmlns="" href="http://gcc.gnu.org/">GCC</a> 3.4 and higher</li><li><a xmlns="" href="http://llvm.org/">LLVM</a> 2.3 through GCC 4.2 front-end and higher</li><li><a xmlns="" href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</a> 2005 and higher</li><li>Any C++ compiler following C++98 norm</li></ul></div></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">Copyright © 2005 - 2011<a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>
|
@ -11,8 +11,8 @@
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">
|
||||
Download GLM 0.9.2.0</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Compute a triangle normal:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string"><glm/glm.hpp></span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="keyword">void </span> computeNormal(triangle & Triangle)
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">
|
||||
Download GLM 0.9.2.1</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM)<br />A C++ mathematics library for graphics programming<br /></div><br /><br /><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Compute a triangle normal:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string"><glm/glm.hpp></span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="keyword">void </span> computeNormal(triangle & Triangle)
|
||||
</span></li><li class="code-line"><span class="code-line-content">
|
||||
{
|
||||
</span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
|
||||
|
@ -11,11 +11,12 @@
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">
|
||||
Download GLM 0.9.2.0</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title4">Current release</div></div><div class="issue-content">08/05/2010:
|
||||
<a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">GLM 0.9.2.0</a>
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">
|
||||
Download GLM 0.9.2.1</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM)<br />A C++ mathematics library for graphics programming<br /></div><br /><br /><div><div class="title4">Current release</div></div><div class="issue-content">24/05/2010:
|
||||
<a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">GLM 0.9.2.1</a>
|
||||
(3.4 MB)
|
||||
</div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - zip files</div><div class="issue-content">08/05/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">GLM 0.9.2.0</a> (3.4 MB)
|
||||
</div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - zip files</div><div class="issue-content">24/05/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">GLM 0.9.2.1</a> (3.4 MB)
|
||||
</div><div class="issue-content">08/05/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">GLM 0.9.2.0</a> (3.4 MB)
|
||||
</div><div class="issue-content">07/05/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.3/glm-0.9.1.3.zip/download">GLM 0.9.1.3</a> (3.4 MB)
|
||||
</div><div class="issue-content">12/04/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.2/glm-0.9.1.2.zip/download">GLM 0.9.1.2</a> (3.4 MB)
|
||||
</div><div class="issue-content">17/03/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.1/glm-0.9.1.1.zip/download">GLM 0.9.1.1</a> (3.4 MB)
|
||||
@ -73,7 +74,8 @@
|
||||
</div><div class="issue-content">02/19/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.3.zip?download">GLM 0.3.0.0</a> (945 KB)
|
||||
</div><div class="issue-content">05/05/2005: <a href="http://prdownloads.sourceforge.net/glf/glm-0.2.zip?download">GLM 0.2.0.0</a> (194 KB)
|
||||
</div><div class="issue-content">02/21/2005: <a href="http://prdownloads.sourceforge.net/glf/glm-0.1-ur.zip?download">GLM 0.1.0.0</a> (29.2 KB)
|
||||
</div></div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - 7z files</div><div class="issue-content">08/05/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.7z/download">GLM 0.9.2.0</a> (2.1 MB)
|
||||
</div></div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - 7z files</div><div class="issue-content">24/05/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.7z/download">GLM 0.9.2.1</a> (2.1 MB)
|
||||
</div><div class="issue-content">08/05/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.7z/download">GLM 0.9.2.0</a> (2.1 MB)
|
||||
</div><div class="issue-content">07/05/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.3/glm-0.9.1.3.7z/download">GLM 0.9.1.3</a> (2.1 MB)
|
||||
</div><div class="issue-content">12/04/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.2/glm-0.9.1.2.7z/download">GLM 0.9.1.2</a> (2.1 MB)
|
||||
</div><div class="issue-content">17/03/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.1/glm-0.9.1.1.7z/download">GLM 0.9.1.1</a> (2.1 MB)
|
||||
|
Binary file not shown.
@ -11,5 +11,5 @@
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">
|
||||
Download GLM 0.9.2.0</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title-date">16/10/2008</div><div class="title4">GLM Logo</div><div><table style="width:100%;"><tr style="width:100%;"><td><p />Download: <a href="./goodies/logo2560x1600.png">2560x1600</a><br />Download: <a href="./goodies/logo1920x1200.png">1920x1200</a><br />Download: <a href="./goodies/logo1600x1000.png">1600x1000</a><br />Download: <a href="./goodies/logo1280x0800.png">1280x0800</a><br />Download: <a href="./goodies/logo1024x0640.png">1024x0640</a><br /></td><td style="text-align:right;"><a ref="goodies/logo.png"><img src="image/logo-mini.png" alt=" " /></a></td></tr></table></div><div class="news-separator">_________________</div><br /></div><div><div class="title-date">16/10/2008</div><div class="title4">GLM Font</div><div><table style="width:100%;"><tr style="width:100%;"><td><p />Download: <a href="./goodies/tenby-five.otf">Font (.otf)</a><br /></td><td style="text-align:right;"><a ref="goodies/font.png"><img src="image/font-mini.png" alt=" " /></a></td></tr></table></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">Copyright Š 2005 - 2011<a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">
|
||||
Download GLM 0.9.2.1</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM)<br />A C++ mathematics library for graphics programming<br /></div><br /><br /><div><div class="title-date">16/10/2008</div><div class="title4">GLM Logo</div><div><table style="width:100%;"><tr style="width:100%;"><td><p />Download: <a href="./goodies/logo2560x1600.png">2560x1600</a><br />Download: <a href="./goodies/logo1920x1200.png">1920x1200</a><br />Download: <a href="./goodies/logo1600x1000.png">1600x1000</a><br />Download: <a href="./goodies/logo1280x0800.png">1280x0800</a><br />Download: <a href="./goodies/logo1024x0640.png">1024x0640</a><br /></td><td style="text-align:right;"><a ref="goodies/logo.png"><img src="image/logo-mini.png" alt=" " /></a></td></tr></table></div><div class="news-separator">_________________</div><br /></div><div><div class="title-date">16/10/2008</div><div class="title4">GLM Font</div><div><table style="width:100%;"><tr style="width:100%;"><td><p />Download: <a href="./goodies/tenby-five.otf">Font (.otf)</a><br /></td><td style="text-align:right;"><a ref="goodies/font.png"><img src="image/font-mini.png" alt=" " /></a></td></tr></table></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">Copyright Š 2005 - 2011<a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>
|
@ -11,8 +11,8 @@
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download">
|
||||
Download GLM 0.9.2.0</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><p>
|
||||
</script></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./goodies/logo1920x1200.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">
|
||||
Download GLM 0.9.2.1</a></div></div><br /><div class="menu2"><a href="./index.html">Front page</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="http://www.opengl.org/sdk/libs/GLM/">OpenGL SDK page</a></div><br /><div class="menu2"><a href="./glm-0.9.2.pdf">GLM Manual</a></div><div class="menu2"><a href="./api-0.9.2/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">GLSL Specification</a></div><div class="menu2"><a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">OpenGL.org Toolkits forum</a></div><br /><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Report a bug</a></div><div class="menu2"><a href="https://sourceforge.net/projects/ogl-math/">SourceForge page</a></div><div class="menu2"><a href="http://www.g-truc.net/project-0016.html#menu">G-Truc Creation page</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=summary">Browse Git repository</a></div><div class="menu2"><a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">Source snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.png" alt="G-Truc" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM)<br />A C++ mathematics library for graphics programming<br /></div><br /><br /><p>
|
||||
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software
|
||||
based on the <a href="http://www.opengl.org/documentation/glsl/">OpenGL Shading Language (GLSL)</a> specification.
|
||||
</p><p>
|
||||
@ -27,12 +27,18 @@
|
||||
quaternions, half-based types, random numbers, etc...
|
||||
</p><p>
|
||||
This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.
|
||||
</p><div xmlns="http://www.w3.org/1999/xhtml"><span class="list">GLM is written as a platform independent library with no dependence and officially supports the following compilers:</span><ul><li><a xmlns="" href="http://http://gcc.gnu.org/">GCC</a> 3.4 and higher</li><li><a xmlns="" href="http://llvm.org/">LLVM</a> 2.3 through GCC 4.2 front-end and higher</li><li><a xmlns="" href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</a> 2005 and higher</li><li>Any C++ compiler following C++98 norm</li></ul></div><p>
|
||||
</p><div xmlns="http://www.w3.org/1999/xhtml"><span class="list">GLM is written as a platform independent library with no dependence and officially supports the following compilers:</span><ul><li><a xmlns="" href="http://clang.llvm.org">Clang</a> 2.0 and higher</li><li><a xmlns="" href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA</a> 3.0 and higher
|
||||
</li><li><a xmlns="" href="http://gcc.gnu.org/">GCC</a> 3.4 and higher</li><li><a xmlns="" href="http://llvm.org/">LLVM</a> 2.3 through GCC 4.2 front-end and higher</li><li><a xmlns="" href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</a> 2005 and higher</li><li>Any C++ compiler following C++98 norm</li></ul></div><p>
|
||||
The source code is under the <a href="./copying.txt">MIT license</a>.
|
||||
</p><p>
|
||||
Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets</a> for bug reports and feature requests. (SF.net account required).
|
||||
Any feedback is welcome at glm@g-truc.net.
|
||||
</p><br /><div><h3>09/05/2011 - GLM 0.9.2.0 released</h3><div><p>
|
||||
</p><br /><div><h3>24/05/2011 - GLM 0.9.2.1 released</h3><div><p>
|
||||
GLM 0.9.2.1 significantly improves compiler detection which allows CUDA to be automatically recognized when GLM is used inside a CUDA kernel.
|
||||
By conscequence, <span xmlns="http://www.w3.org/1999/xhtml" class="codeword">GLM_FORCE_CUDA</span> is no longer required to be declared.
|
||||
</p><p>
|
||||
It fixed a couple of bugs, including Visual C++ supprot when Visual C++ extensions are disabled and fixed implementations of GLM_GTX_vector_angle and GLM_GTX_rotate_vector extensions.
|
||||
</p>Download: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">GLM 0.9.2.1 (zip)</a><br />Download: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.7z/download">GLM 0.9.2.1 (7z)</a><br />Link: <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">Submit a bug report</a><br /></div><br /></div><div><h3>09/05/2011 - GLM 0.9.2.0 released</h3><div><p>
|
||||
GLM 0.9.2.0 provides many exciting features which first of all is the CUDA copiler support so that GLM can be used within a CUDA kernel. This is possible only by defining GLM_FORCE_CUDA before including glm/glm.hpp in the CUDA Kernel source code.
|
||||
</p><p>
|
||||
New experimental extensions are also available. GLM_GTX_noise is based on the work by Stefan Gustavson and Ashima Arts on <a href="https://github.com/ashima/webgl-noise">WebGL-noise</a> which adds perlin and simplex noise functions in a pure computational way.
|
||||
|
@ -3,6 +3,7 @@
|
||||
<glm copyright="Copyright © 2005 - 2011">
|
||||
<downloads>
|
||||
<section name="GLM - zip files">
|
||||
<download name="GLM 0.9.2.1" date="24/05/2010" size="3.4 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download"/>
|
||||
<download name="GLM 0.9.2.0" date="08/05/2010" size="3.4 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.zip/download"/>
|
||||
<download name="GLM 0.9.1.3" date="07/05/2010" size="3.4 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.3/glm-0.9.1.3.zip/download"/>
|
||||
<download name="GLM 0.9.1.2" date="12/04/2010" size="3.4 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.2/glm-0.9.1.2.zip/download"/>
|
||||
@ -63,6 +64,7 @@
|
||||
<download name="GLM 0.1.0.0" date="02/21/2005" size="29.2 KB" link="http://prdownloads.sourceforge.net/glf/glm-0.1-ur.zip?download"/>
|
||||
</section>
|
||||
<section name="GLM - 7z files">
|
||||
<download name="GLM 0.9.2.1" date="24/05/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.7z/download"/>
|
||||
<download name="GLM 0.9.2.0" date="08/05/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.0/glm-0.9.2.0.7z/download"/>
|
||||
<download name="GLM 0.9.1.3" date="07/05/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.3/glm-0.9.1.3.7z/download"/>
|
||||
<download name="GLM 0.9.1.2" date="12/04/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.2/glm-0.9.1.2.7z/download"/>
|
||||
@ -150,6 +152,20 @@
|
||||
</todo>
|
||||
|
||||
<page_news>
|
||||
<news index="0066" date="24/05/2011" title="GLM 0.9.2.1 released" image="goodies/logo.png" image-mini="image/logo-mini.png">
|
||||
<paragraph>
|
||||
GLM 0.9.2.1 significantly improves compiler detection which allows CUDA to be automatically recognized when GLM is used inside a CUDA kernel.
|
||||
By conscequence, <codeword>GLM_FORCE_CUDA</codeword> is no longer required to be declared.
|
||||
</paragraph>
|
||||
<paragraph>
|
||||
It fixed a couple of bugs, including Visual C++ supprot when Visual C++ extensions are disabled and fixed implementations of GLM_GTX_vector_angle and GLM_GTX_rotate_vector extensions.
|
||||
</paragraph>
|
||||
|
||||
<source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.zip/download">GLM 0.9.2.1 (zip)</source>
|
||||
<source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.2.1/glm-0.9.2.1.7z/download">GLM 0.9.2.1 (7z)</source>
|
||||
<source type="Link" href="https://sourceforge.net/apps/trac/ogl-math/newticket">Submit a bug report</source>
|
||||
</news>
|
||||
|
||||
<news index="0065" date="09/05/2011" title="GLM 0.9.2.0 released" image="goodies/logo.png" image-mini="image/logo-mini.png">
|
||||
<paragraph>
|
||||
GLM 0.9.2.0 provides many exciting features which first of all is the CUDA copiler support so that GLM can be used within a CUDA kernel. This is possible only by defining GLM_FORCE_CUDA before including glm/glm.hpp in the CUDA Kernel source code.
|
||||
@ -1554,8 +1570,8 @@
|
||||
</about-long>
|
||||
|
||||
<about-short>
|
||||
<element>GLSL + Optional features = OpenGL Mathematics (GLM).</element>
|
||||
<element>A C++ mathematics library for 3D graphics.</element>
|
||||
<element>GLSL + Optional features = OpenGL Mathematics (GLM)</element>
|
||||
<element>A C++ mathematics library for graphics programming</element>
|
||||
</about-short>
|
||||
|
||||
<goodies>
|
||||
|
@ -122,13 +122,13 @@ namespace quaternion ///< GLM_GTC_quaternion extension: Quaternion types and fun
|
||||
/// \addtogroup gtc_quaternion
|
||||
///@{
|
||||
|
||||
//! Returns the length of the quaternion x.
|
||||
//! Returns the length of the quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
typename detail::tquat<T>::value_type length(
|
||||
detail::tquat<T> const & q);
|
||||
|
||||
//! Returns the normalized quaternion of from x.
|
||||
//! Returns the normalized quaternion.
|
||||
//! From GLM_GTC_quaternion extension.
|
||||
template <typename T>
|
||||
detail::tquat<T> normalize(
|
||||
|
@ -416,7 +416,7 @@ namespace quaternion{
|
||||
)
|
||||
{
|
||||
T angle = acos(dot(x, y));
|
||||
return (sin((1 - a) * angle) * x + sin(a * angle) * y) / sin(angle);
|
||||
return (sin((T(1) - a) * angle) * x + sin(a * angle) * y) / sin(angle);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
@ -67,51 +67,52 @@ namespace swizzle ///< GLM_GTC_swizzle extension
|
||||
vecType<T> & v,
|
||||
comp x, comp y, comp z, comp w);
|
||||
|
||||
# define static_swizzle1(TYPE, SIZE) \
|
||||
# define static_swizzle1_const(TYPE, SIZE) \
|
||||
template <comp x> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(detail::tvec##SIZE<TYPE> const & v) \
|
||||
{return v[x];} \
|
||||
\
|
||||
{return v[x];}
|
||||
|
||||
# define static_swizzle1_ref(TYPE, SIZE) \
|
||||
template <comp x> \
|
||||
GLM_FUNC_QUALIFIER TYPE& swizzle(detail::tvec##SIZE<TYPE> & v) \
|
||||
{return v[x];}
|
||||
|
||||
static_swizzle1_ref(detail::float16, 2)
|
||||
static_swizzle1_ref(detail::float16, 3)
|
||||
static_swizzle1_ref(detail::float16, 4)
|
||||
static_swizzle1_ref(detail::float32, 2)
|
||||
static_swizzle1_ref(detail::float32, 3)
|
||||
static_swizzle1_ref(detail::float32, 4)
|
||||
static_swizzle1_ref(detail::float64, 2)
|
||||
static_swizzle1_ref(detail::float64, 3)
|
||||
static_swizzle1_ref(detail::float64, 4)
|
||||
|
||||
static_swizzle1_ref(detail::int8, 2)
|
||||
static_swizzle1_ref(detail::int8, 3)
|
||||
static_swizzle1_ref(detail::int8, 4)
|
||||
static_swizzle1_ref(detail::int16, 2)
|
||||
static_swizzle1_ref(detail::int16, 3)
|
||||
static_swizzle1_ref(detail::int16, 4)
|
||||
static_swizzle1_ref(detail::int32, 2)
|
||||
static_swizzle1_ref(detail::int32, 3)
|
||||
static_swizzle1_ref(detail::int32, 4)
|
||||
static_swizzle1_ref(detail::int64, 2)
|
||||
static_swizzle1_ref(detail::int64, 3)
|
||||
static_swizzle1_ref(detail::int64, 4)
|
||||
|
||||
static_swizzle1_ref(detail::uint8, 2)
|
||||
static_swizzle1_ref(detail::uint8, 3)
|
||||
static_swizzle1_ref(detail::uint8, 4)
|
||||
static_swizzle1_ref(detail::uint16, 2)
|
||||
static_swizzle1_ref(detail::uint16, 3)
|
||||
static_swizzle1_ref(detail::uint16, 4)
|
||||
static_swizzle1_ref(detail::uint32, 2)
|
||||
static_swizzle1_ref(detail::uint32, 3)
|
||||
static_swizzle1_ref(detail::uint32, 4)
|
||||
static_swizzle1_ref(detail::uint64, 2)
|
||||
static_swizzle1_ref(detail::uint64, 3)
|
||||
static_swizzle1_ref(detail::uint64, 4)
|
||||
/*
|
||||
static_swizzle1(detail::float16, 2)
|
||||
static_swizzle1(detail::float16, 3)
|
||||
static_swizzle1(detail::float16, 4)
|
||||
static_swizzle1(detail::float32, 2)
|
||||
static_swizzle1(detail::float32, 3)
|
||||
static_swizzle1(detail::float32, 4)
|
||||
static_swizzle1(detail::float64, 2)
|
||||
static_swizzle1(detail::float64, 3)
|
||||
static_swizzle1(detail::float64, 4)
|
||||
|
||||
static_swizzle1(detail::int8, 2)
|
||||
static_swizzle1(detail::int8, 3)
|
||||
static_swizzle1(detail::int8, 4)
|
||||
static_swizzle1(detail::int16, 2)
|
||||
static_swizzle1(detail::int16, 3)
|
||||
static_swizzle1(detail::int16, 4)
|
||||
static_swizzle1(detail::int32, 2)
|
||||
static_swizzle1(detail::int32, 3)
|
||||
static_swizzle1(detail::int32, 4)
|
||||
static_swizzle1(detail::int64, 2)
|
||||
static_swizzle1(detail::int64, 3)
|
||||
static_swizzle1(detail::int64, 4)
|
||||
|
||||
static_swizzle1(detail::uint8, 2)
|
||||
static_swizzle1(detail::uint8, 3)
|
||||
static_swizzle1(detail::uint8, 4)
|
||||
static_swizzle1(detail::uint16, 2)
|
||||
static_swizzle1(detail::uint16, 3)
|
||||
static_swizzle1(detail::uint16, 4)
|
||||
static_swizzle1(detail::uint32, 2)
|
||||
static_swizzle1(detail::uint32, 3)
|
||||
static_swizzle1(detail::uint32, 4)
|
||||
static_swizzle1(detail::uint64, 2)
|
||||
static_swizzle1(detail::uint64, 3)
|
||||
static_swizzle1(detail::uint64, 4)
|
||||
|
||||
# define static_swizzle2_const(TYPE) \
|
||||
template <comp x, comp y> \
|
||||
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
|
||||
@ -144,204 +145,204 @@ namespace swizzle ///< GLM_GTC_swizzle extension
|
||||
{return detail::tvec4<TYPE>(v[x], v[y], v[z], v[w]);}
|
||||
|
||||
|
||||
static_swizzle2_const(glm::f16vec2, 2)
|
||||
static_swizzle2_const(glm::f16vec3, 3)
|
||||
static_swizzle2_const(glm::f16vec4, 4)
|
||||
static_swizzle2_const(glm::f32vec2, 2)
|
||||
static_swizzle2_const(glm::f32vec3, 3)
|
||||
static_swizzle2_const(glm::f32vec4, 4)
|
||||
static_swizzle2_const(glm::f64vec2, 2)
|
||||
static_swizzle2_const(glm::f64vec3, 3)
|
||||
static_swizzle2_const(glm::f64vec4, 4)
|
||||
/*
|
||||
static_swizzle2_const(glm::i8vec2)
|
||||
static_swizzle2_const(glm::i8vec3)
|
||||
static_swizzle2_const(glm::i8vec4)
|
||||
static_swizzle2_const(glm::i16vec2)
|
||||
static_swizzle2_const(glm::i16vec3)
|
||||
static_swizzle2_const(glm::i16vec4)
|
||||
static_swizzle2_const(glm::i32vec2)
|
||||
static_swizzle2_const(glm::i32vec3)
|
||||
static_swizzle2_const(glm::i32vec4)
|
||||
static_swizzle2_const(glm::i64vec2)
|
||||
static_swizzle2_const(glm::i64vec3)
|
||||
static_swizzle2_const(glm::i64vec4)
|
||||
static_swizzle2_const(glm::f16, 2)
|
||||
static_swizzle2_const(glm::f16, 3)
|
||||
static_swizzle2_const(glm::f16, 4)
|
||||
static_swizzle2_const(glm::f32, 2)
|
||||
static_swizzle2_const(glm::f32, 3)
|
||||
static_swizzle2_const(glm::f32, 4)
|
||||
static_swizzle2_const(glm::f64, 2)
|
||||
static_swizzle2_const(glm::f64, 3)
|
||||
static_swizzle2_const(glm::f64, 4)
|
||||
|
||||
static_swizzle2_const(glm::u8vec2)
|
||||
static_swizzle2_const(glm::u8vec3)
|
||||
static_swizzle2_const(glm::u8vec4)
|
||||
static_swizzle2_const(glm::u16vec2)
|
||||
static_swizzle2_const(glm::u16vec3)
|
||||
static_swizzle2_const(glm::u16vec4)
|
||||
static_swizzle2_const(glm::u32vec2)
|
||||
static_swizzle2_const(glm::u32vec3)
|
||||
static_swizzle2_const(glm::u32vec4)
|
||||
static_swizzle2_const(glm::u64vec2)
|
||||
static_swizzle2_const(glm::u64vec3)
|
||||
static_swizzle2_const(glm::u64vec4)
|
||||
static_swizzle2_const(glm::i8, 2)
|
||||
static_swizzle2_const(glm::i8, 3)
|
||||
static_swizzle2_const(glm::i8, 4)
|
||||
static_swizzle2_const(glm::i16, 2)
|
||||
static_swizzle2_const(glm::i16, 3)
|
||||
static_swizzle2_const(glm::i16, 4)
|
||||
static_swizzle2_const(glm::i32, 2)
|
||||
static_swizzle2_const(glm::i32, 3)
|
||||
static_swizzle2_const(glm::i32, 4)
|
||||
static_swizzle2_const(glm::i64, 2)
|
||||
static_swizzle2_const(glm::i64, 3)
|
||||
static_swizzle2_const(glm::i64, 4)
|
||||
|
||||
static_swizzle3_const(glm::f16vec2)
|
||||
static_swizzle3_const(glm::f16vec3)
|
||||
static_swizzle3_const(glm::f16vec4)
|
||||
static_swizzle3_const(glm::f32vec2)
|
||||
static_swizzle3_const(glm::f32vec3)
|
||||
static_swizzle3_const(glm::f32vec4)
|
||||
static_swizzle3_const(glm::f64vec2)
|
||||
static_swizzle3_const(glm::f64vec3)
|
||||
static_swizzle3_const(glm::f64vec4)
|
||||
static_swizzle2_const(glm::u8, 2)
|
||||
static_swizzle2_const(glm::u8, 3)
|
||||
static_swizzle2_const(glm::u8, 4)
|
||||
static_swizzle2_const(glm::u16, 2)
|
||||
static_swizzle2_const(glm::u16, 3)
|
||||
static_swizzle2_const(glm::u16, 4)
|
||||
static_swizzle2_const(glm::u32, 2)
|
||||
static_swizzle2_const(glm::u32, 3)
|
||||
static_swizzle2_const(glm::u32, 4)
|
||||
static_swizzle2_const(glm::u64, 2)
|
||||
static_swizzle2_const(glm::u64, 3)
|
||||
static_swizzle2_const(glm::u64, 4)
|
||||
|
||||
static_swizzle3_const(glm::i8vec2)
|
||||
static_swizzle3_const(glm::i8vec3)
|
||||
static_swizzle3_const(glm::i8vec4)
|
||||
static_swizzle3_const(glm::i16vec2)
|
||||
static_swizzle3_const(glm::i16vec3)
|
||||
static_swizzle3_const(glm::i16vec4)
|
||||
static_swizzle3_const(glm::i32vec2)
|
||||
static_swizzle3_const(glm::i32vec3)
|
||||
static_swizzle3_const(glm::i32vec4)
|
||||
static_swizzle3_const(glm::i64vec2)
|
||||
static_swizzle3_const(glm::i64vec3)
|
||||
static_swizzle3_const(glm::i64vec4)
|
||||
static_swizzle3_const(glm::f16, 2)
|
||||
static_swizzle3_const(glm::f16, 3)
|
||||
static_swizzle3_const(glm::f16, 4)
|
||||
static_swizzle3_const(glm::f32, 2)
|
||||
static_swizzle3_const(glm::f32, 3)
|
||||
static_swizzle3_const(glm::f32, 4)
|
||||
static_swizzle3_const(glm::f64, 2)
|
||||
static_swizzle3_const(glm::f64, 3)
|
||||
static_swizzle3_const(glm::f64, 4)
|
||||
|
||||
static_swizzle3_const(glm::u8vec2)
|
||||
static_swizzle3_const(glm::u8vec3)
|
||||
static_swizzle3_const(glm::u8vec4)
|
||||
static_swizzle3_const(glm::u16vec2)
|
||||
static_swizzle3_const(glm::u16vec3)
|
||||
static_swizzle3_const(glm::u16vec4)
|
||||
static_swizzle3_const(glm::u32vec2)
|
||||
static_swizzle3_const(glm::u32vec3)
|
||||
static_swizzle3_const(glm::u32vec4)
|
||||
static_swizzle3_const(glm::u64vec2)
|
||||
static_swizzle3_const(glm::u64vec3)
|
||||
static_swizzle3_const(glm::u64vec4)
|
||||
static_swizzle3_const(glm::i8, 2)
|
||||
static_swizzle3_const(glm::i8, 3)
|
||||
static_swizzle3_const(glm::i8, 4)
|
||||
static_swizzle3_const(glm::i16, 2)
|
||||
static_swizzle3_const(glm::i16, 3)
|
||||
static_swizzle3_const(glm::i16, 4)
|
||||
static_swizzle3_const(glm::i32, 2)
|
||||
static_swizzle3_const(glm::i32, 3)
|
||||
static_swizzle3_const(glm::i32, 4)
|
||||
static_swizzle3_const(glm::i64, 2)
|
||||
static_swizzle3_const(glm::i64, 3)
|
||||
static_swizzle3_const(glm::i64, 4)
|
||||
|
||||
static_swizzle4_const(glm::f16vec2)
|
||||
static_swizzle4_const(glm::f16vec3)
|
||||
static_swizzle4_const(glm::f16vec4)
|
||||
static_swizzle4_const(glm::f32vec2)
|
||||
static_swizzle4_const(glm::f32vec3)
|
||||
static_swizzle4_const(glm::f32vec4)
|
||||
static_swizzle4_const(glm::f64vec2)
|
||||
static_swizzle4_const(glm::f64vec3)
|
||||
static_swizzle4_const(glm::f64vec4)
|
||||
static_swizzle3_const(glm::u8, 2)
|
||||
static_swizzle3_const(glm::u8, 3)
|
||||
static_swizzle3_const(glm::u8, 4)
|
||||
static_swizzle3_const(glm::u16, 2)
|
||||
static_swizzle3_const(glm::u16, 3)
|
||||
static_swizzle3_const(glm::u16, 4)
|
||||
static_swizzle3_const(glm::u32, 2)
|
||||
static_swizzle3_const(glm::u32, 3)
|
||||
static_swizzle3_const(glm::u32, 4)
|
||||
static_swizzle3_const(glm::u64, 2)
|
||||
static_swizzle3_const(glm::u64, 3)
|
||||
static_swizzle3_const(glm::u64, 4)
|
||||
|
||||
static_swizzle4_const(glm::i8vec2)
|
||||
static_swizzle4_const(glm::i8vec3)
|
||||
static_swizzle4_const(glm::i8vec4)
|
||||
static_swizzle4_const(glm::i16vec2)
|
||||
static_swizzle4_const(glm::i16vec3)
|
||||
static_swizzle4_const(glm::i16vec4)
|
||||
static_swizzle4_const(glm::i32vec2)
|
||||
static_swizzle4_const(glm::i32vec3)
|
||||
static_swizzle4_const(glm::i32vec4)
|
||||
static_swizzle4_const(glm::i64vec2)
|
||||
static_swizzle4_const(glm::i64vec3)
|
||||
static_swizzle4_const(glm::i64vec4)
|
||||
static_swizzle4_const(glm::f16, 2)
|
||||
static_swizzle4_const(glm::f16, 3)
|
||||
static_swizzle4_const(glm::f16, 4)
|
||||
static_swizzle4_const(glm::f32, 2)
|
||||
static_swizzle4_const(glm::f32, 3)
|
||||
static_swizzle4_const(glm::f32, 4)
|
||||
static_swizzle4_const(glm::f64, 2)
|
||||
static_swizzle4_const(glm::f64, 3)
|
||||
static_swizzle4_const(glm::f64, 4)
|
||||
|
||||
static_swizzle4_const(glm::u8vec2)
|
||||
static_swizzle4_const(glm::u8vec3)
|
||||
static_swizzle4_const(glm::u8vec4)
|
||||
static_swizzle4_const(glm::u16vec2)
|
||||
static_swizzle4_const(glm::u16vec3)
|
||||
static_swizzle4_const(glm::u16vec4)
|
||||
static_swizzle4_const(glm::u32vec2)
|
||||
static_swizzle4_const(glm::u32vec3)
|
||||
static_swizzle4_const(glm::u32vec4)
|
||||
static_swizzle4_const(glm::u64vec2)
|
||||
static_swizzle4_const(glm::u64vec3)
|
||||
static_swizzle4_const(glm::u64vec4)
|
||||
static_swizzle4_const(glm::i8, 2)
|
||||
static_swizzle4_const(glm::i8, 3)
|
||||
static_swizzle4_const(glm::i8, 4)
|
||||
static_swizzle4_const(glm::i16, 2)
|
||||
static_swizzle4_const(glm::i16, 3)
|
||||
static_swizzle4_const(glm::i16, 4)
|
||||
static_swizzle4_const(glm::i32, 2)
|
||||
static_swizzle4_const(glm::i32, 3)
|
||||
static_swizzle4_const(glm::i32, 4)
|
||||
static_swizzle4_const(glm::i64, 2)
|
||||
static_swizzle4_const(glm::i64, 3)
|
||||
static_swizzle4_const(glm::i64, 4)
|
||||
|
||||
# define static_swizzle2_ref(TYPE) \
|
||||
static_swizzle4_const(glm::u8, 2)
|
||||
static_swizzle4_const(glm::u8, 3)
|
||||
static_swizzle4_const(glm::u8, 4)
|
||||
static_swizzle4_const(glm::u16, 2)
|
||||
static_swizzle4_const(glm::u16, 3)
|
||||
static_swizzle4_const(glm::u16, 4)
|
||||
static_swizzle4_const(glm::u32, 2)
|
||||
static_swizzle4_const(glm::u32, 3)
|
||||
static_swizzle4_const(glm::u32, 4)
|
||||
static_swizzle4_const(glm::u64, 2)
|
||||
static_swizzle4_const(glm::u64, 3)
|
||||
static_swizzle4_const(glm::u64, 4)
|
||||
|
||||
# define static_swizzle2_ref(TYPE, SIZE) \
|
||||
template <glm::comp x, glm::comp y> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref2<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref2<typename TYPE::value_type>(v[x], v[y]);}
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref2<TYPE> swizzle(detail::tvec##SIZE<TYPE> & v) \
|
||||
{return glm::detail::tref2<TYPE>(v[x], v[y]);}
|
||||
|
||||
# define static_swizzle3_ref(TYPE) \
|
||||
# define static_swizzle3_ref(TYPE, SIZE) \
|
||||
template <glm::comp x, glm::comp y, glm::comp z> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref3<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref3<typename TYPE::value_type>(v[x], v[y], v[z]);}
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref3<TYPE> swizzle(detail::tvec##SIZE<TYPE> & v) \
|
||||
{return glm::detail::tref3<TYPE>(v[x], v[y], v[z]);}
|
||||
|
||||
# define static_swizzle4_ref(TYPE) \
|
||||
# define static_swizzle4_ref(TYPE, SIZE) \
|
||||
template <glm::comp x, glm::comp y, glm::comp z, glm::comp w> \
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref4<typename TYPE::value_type> swizzle(TYPE & v) \
|
||||
{return glm::detail::tref4<typename TYPE::value_type>(v[x], v[y], v[z], v[w]);}
|
||||
GLM_FUNC_QUALIFIER glm::detail::tref4<TYPE> swizzle(detail::tvec##SIZE<TYPE> & v) \
|
||||
{return glm::detail::tref4<TYPE>(v[x], v[y], v[z], v[w]);}
|
||||
|
||||
static_swizzle2_ref(glm::f16vec2)
|
||||
static_swizzle2_ref(glm::f16vec3)
|
||||
static_swizzle2_ref(glm::f16vec4)
|
||||
static_swizzle2_ref(glm::f32vec2)
|
||||
static_swizzle2_ref(glm::f32vec3)
|
||||
static_swizzle2_ref(glm::f32vec4)
|
||||
static_swizzle2_ref(glm::f64vec2)
|
||||
static_swizzle2_ref(glm::f64vec3)
|
||||
static_swizzle2_ref(glm::f64vec4)
|
||||
static_swizzle2_ref(glm::f16, 2)
|
||||
static_swizzle2_ref(glm::f16, 3)
|
||||
static_swizzle2_ref(glm::f16, 4)
|
||||
static_swizzle2_ref(glm::f32, 2)
|
||||
static_swizzle2_ref(glm::f32, 3)
|
||||
static_swizzle2_ref(glm::f32, 4)
|
||||
static_swizzle2_ref(glm::f64, 2)
|
||||
static_swizzle2_ref(glm::f64, 3)
|
||||
static_swizzle2_ref(glm::f64, 4)
|
||||
|
||||
static_swizzle2_ref(glm::i8vec2)
|
||||
static_swizzle2_ref(glm::i8vec3)
|
||||
static_swizzle2_ref(glm::i8vec4)
|
||||
static_swizzle2_ref(glm::i16vec2)
|
||||
static_swizzle2_ref(glm::i16vec3)
|
||||
static_swizzle2_ref(glm::i16vec4)
|
||||
static_swizzle2_ref(glm::i32vec2)
|
||||
static_swizzle2_ref(glm::i32vec3)
|
||||
static_swizzle2_ref(glm::i32vec4)
|
||||
static_swizzle2_ref(glm::i64vec2)
|
||||
static_swizzle2_ref(glm::i64vec3)
|
||||
static_swizzle2_ref(glm::i64vec4)
|
||||
static_swizzle2_ref(glm::i8, 2)
|
||||
static_swizzle2_ref(glm::i8, 3)
|
||||
static_swizzle2_ref(glm::i8, 4)
|
||||
static_swizzle2_ref(glm::i16, 2)
|
||||
static_swizzle2_ref(glm::i16, 3)
|
||||
static_swizzle2_ref(glm::i16, 4)
|
||||
static_swizzle2_ref(glm::i32, 2)
|
||||
static_swizzle2_ref(glm::i32, 3)
|
||||
static_swizzle2_ref(glm::i32, 4)
|
||||
static_swizzle2_ref(glm::i64, 2)
|
||||
static_swizzle2_ref(glm::i64, 3)
|
||||
static_swizzle2_ref(glm::i64, 4)
|
||||
|
||||
static_swizzle2_ref(glm::u8vec2)
|
||||
static_swizzle2_ref(glm::u8vec3)
|
||||
static_swizzle2_ref(glm::u8vec4)
|
||||
static_swizzle2_ref(glm::u16vec2)
|
||||
static_swizzle2_ref(glm::u16vec3)
|
||||
static_swizzle2_ref(glm::u16vec4)
|
||||
static_swizzle2_ref(glm::u32vec2)
|
||||
static_swizzle2_ref(glm::u32vec3)
|
||||
static_swizzle2_ref(glm::u32vec4)
|
||||
static_swizzle2_ref(glm::u64vec2)
|
||||
static_swizzle2_ref(glm::u64vec3)
|
||||
static_swizzle2_ref(glm::u64vec4)
|
||||
static_swizzle2_ref(glm::u8, 2)
|
||||
static_swizzle2_ref(glm::u8, 3)
|
||||
static_swizzle2_ref(glm::u8, 4)
|
||||
static_swizzle2_ref(glm::u16, 2)
|
||||
static_swizzle2_ref(glm::u16, 3)
|
||||
static_swizzle2_ref(glm::u16, 4)
|
||||
static_swizzle2_ref(glm::u32, 2)
|
||||
static_swizzle2_ref(glm::u32, 3)
|
||||
static_swizzle2_ref(glm::u32, 4)
|
||||
static_swizzle2_ref(glm::u64, 2)
|
||||
static_swizzle2_ref(glm::u64, 3)
|
||||
static_swizzle2_ref(glm::u64, 4)
|
||||
|
||||
static_swizzle3_ref(glm::f16vec3)
|
||||
static_swizzle3_ref(glm::f16vec4)
|
||||
static_swizzle3_ref(glm::f32vec3)
|
||||
static_swizzle3_ref(glm::f32vec4)
|
||||
static_swizzle3_ref(glm::f64vec3)
|
||||
static_swizzle3_ref(glm::f64vec4)
|
||||
static_swizzle3_ref(glm::f16, 3)
|
||||
static_swizzle3_ref(glm::f16, 4)
|
||||
static_swizzle3_ref(glm::f32, 3)
|
||||
static_swizzle3_ref(glm::f32, 4)
|
||||
static_swizzle3_ref(glm::f64, 3)
|
||||
static_swizzle3_ref(glm::f64, 4)
|
||||
|
||||
static_swizzle3_ref(glm::i8vec3)
|
||||
static_swizzle3_ref(glm::i8vec4)
|
||||
static_swizzle3_ref(glm::i16vec3)
|
||||
static_swizzle3_ref(glm::i16vec4)
|
||||
static_swizzle3_ref(glm::i32vec3)
|
||||
static_swizzle3_ref(glm::i32vec4)
|
||||
static_swizzle3_ref(glm::i64vec3)
|
||||
static_swizzle3_ref(glm::i64vec4)
|
||||
static_swizzle3_ref(glm::i8, 3)
|
||||
static_swizzle3_ref(glm::i8, 4)
|
||||
static_swizzle3_ref(glm::i16, 3)
|
||||
static_swizzle3_ref(glm::i16, 4)
|
||||
static_swizzle3_ref(glm::i32, 3)
|
||||
static_swizzle3_ref(glm::i32, 4)
|
||||
static_swizzle3_ref(glm::i64, 3)
|
||||
static_swizzle3_ref(glm::i64, 4)
|
||||
|
||||
static_swizzle3_ref(glm::u8vec3)
|
||||
static_swizzle3_ref(glm::u8vec4)
|
||||
static_swizzle3_ref(glm::u16vec3)
|
||||
static_swizzle3_ref(glm::u16vec4)
|
||||
static_swizzle3_ref(glm::u32vec3)
|
||||
static_swizzle3_ref(glm::u32vec4)
|
||||
static_swizzle3_ref(glm::u64vec3)
|
||||
static_swizzle3_ref(glm::u64vec4)
|
||||
static_swizzle3_ref(glm::u8, 3)
|
||||
static_swizzle3_ref(glm::u8, 4)
|
||||
static_swizzle3_ref(glm::u16, 3)
|
||||
static_swizzle3_ref(glm::u16, 4)
|
||||
static_swizzle3_ref(glm::u32, 3)
|
||||
static_swizzle3_ref(glm::u32, 4)
|
||||
static_swizzle3_ref(glm::u64, 3)
|
||||
static_swizzle3_ref(glm::u64, 4)
|
||||
|
||||
static_swizzle4_ref(glm::f16vec4)
|
||||
static_swizzle4_ref(glm::f32vec4)
|
||||
static_swizzle4_ref(glm::f64vec4)
|
||||
static_swizzle4_ref(glm::f16, 4)
|
||||
static_swizzle4_ref(glm::f32, 4)
|
||||
static_swizzle4_ref(glm::f64, 4)
|
||||
|
||||
static_swizzle4_ref(glm::i8vec4)
|
||||
static_swizzle4_ref(glm::i16vec4)
|
||||
static_swizzle4_ref(glm::i32vec4)
|
||||
static_swizzle4_ref(glm::i64vec4)
|
||||
static_swizzle4_ref(glm::i8, 4)
|
||||
static_swizzle4_ref(glm::i16, 4)
|
||||
static_swizzle4_ref(glm::i32, 4)
|
||||
static_swizzle4_ref(glm::i64, 4)
|
||||
|
||||
static_swizzle4_ref(glm::u8, 4)
|
||||
static_swizzle4_ref(glm::u16, 4)
|
||||
static_swizzle4_ref(glm::u32, 4)
|
||||
static_swizzle4_ref(glm::u64, 4)
|
||||
|
||||
static_swizzle4_ref(glm::u8vec4)
|
||||
static_swizzle4_ref(glm::u16vec4)
|
||||
static_swizzle4_ref(glm::u32vec4)
|
||||
static_swizzle4_ref(glm::u64vec4)
|
||||
*/
|
||||
}//namespace swizzle
|
||||
}//namespace gtc
|
||||
}//namespace glm
|
||||
|
27
readme.txt
27
readme.txt
@ -4,6 +4,29 @@ G-Truc Creation
|
||||
www.g-truc.net
|
||||
glm@g-truc.net
|
||||
|
||||
================================================================================
|
||||
The MIT License
|
||||
--------------------------------------------------------------------------------
|
||||
Copyright (c) 2005 - 2011 G-Truc Creation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
================================================================================
|
||||
GLM Usage
|
||||
--------------------------------------------------------------------------------
|
||||
@ -14,10 +37,10 @@ More informations in GLM manual:
|
||||
http://glm.g-truc.net/glm-0.9.2.pdf
|
||||
|
||||
================================================================================
|
||||
GLM 0.9.2.1: 2010-05-20
|
||||
GLM 0.9.2.1: 2010-05-24
|
||||
--------------------------------------------------------------------------------
|
||||
- Automatically detect CUDA support
|
||||
- Improved Clang detection
|
||||
- Improved compiler detection
|
||||
- Fixed errors and warnings in VC with C++ extensions disabled
|
||||
- Fixed and tested GLM_GTX_vector_angle
|
||||
- Fixed and tested GLM_GTX_rotate_vector
|
||||
|
@ -2,17 +2,82 @@
|
||||
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Created : 2010-09-16
|
||||
// Updated : 2010-05-07
|
||||
// Updated : 2011-05-25
|
||||
// Licence : This source is under MIT licence
|
||||
// File : test/gtc/quaternion.cpp
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
#include <glm/gtc/quaternion.hpp>
|
||||
#include <glm/gtx/epsilon.hpp>
|
||||
|
||||
int test_quat_type()
|
||||
{
|
||||
glm::quat A;
|
||||
glm::dquat B;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_quat_slerp()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
glm::quat A(0.0f, glm::vec3(0, 0, 1));
|
||||
glm::quat B(90.0f, glm::vec3(0, 0, 1));
|
||||
glm::quat C = glm::mix(A, B, 0.5f);
|
||||
|
||||
Error += C != glm::quat(45.f, glm::vec3(0, 0, 1)) ? 0 : 1;
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
||||
int test_quat_length()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
float A = glm::length(glm::quat(45.0f, glm::vec3(0, 0, 1)));
|
||||
Error += A == 1.0f ? 0 : 1;
|
||||
float B = glm::length(glm::quat(90.0f, glm::vec3(0, 0, 2)));
|
||||
Error += B == 2.0f ? 0 : 1;
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
||||
int test_quat_normalize()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
{
|
||||
glm::quat Q(45.0f, glm::vec3(0, 0, 1));
|
||||
glm::quat N = glm::normalize(Q);
|
||||
float L = glm::length(N);
|
||||
Error += L == 1.0f ? 0 : 1;
|
||||
}
|
||||
{
|
||||
glm::quat Q(45.0f, glm::vec3(0, 0, 2));
|
||||
glm::quat N = glm::normalize(Q);
|
||||
float L = glm::length(N);
|
||||
Error += L == 1.0f ? 0 : 1;
|
||||
}
|
||||
{
|
||||
glm::quat Q(45.0f, glm::vec3(1, 2, 3));
|
||||
glm::quat N = glm::normalize(Q);
|
||||
float L = glm::length(N);
|
||||
Error += L == 1.0f ? 0 : 1;
|
||||
}
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
Error += test_quat_type();
|
||||
Error += test_quat_slerp();
|
||||
Error += test_quat_length();
|
||||
Error += test_quat_normalize();
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
glmCreateTestGTC(gtx_bit)
|
||||
glmCreateTestGTC(gtx_noise)
|
||||
glmCreateTestGTC(gtx_quaternion)
|
||||
glmCreateTestGTC(gtx_rotate_vector)
|
||||
glmCreateTestGTC(gtx_simd_vec4)
|
||||
glmCreateTestGTC(gtx_simd_mat4)
|
||||
|
53
test/gtx/gtx_quaternion.cpp
Normal file
53
test/gtx/gtx_quaternion.cpp
Normal file
@ -0,0 +1,53 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Created : 2011-05-25
|
||||
// Updated : 2011-05-25
|
||||
// Licence : This source is under MIT licence
|
||||
// File : test/gtx/quaternion.cpp
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
#include <glm/gtx/quaternion.hpp>
|
||||
#include <glm/gtx/epsilon.hpp>
|
||||
|
||||
int test_quat_angle()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
{
|
||||
glm::quat Q(45.0f, glm::vec3(0, 0, 1));
|
||||
glm::quat N = glm::normalize(Q);
|
||||
float L = glm::length(N);
|
||||
Error += L == 1.0f ? 0 : 1;
|
||||
float A = glm::angle(N);
|
||||
Error += glm::equalEpsilon(A, 45.0f, 0.01f) ? 0 : 1;
|
||||
}
|
||||
{
|
||||
glm::quat Q(45.0f, glm::vec3(0, 0, 2));
|
||||
glm::quat N = glm::normalize(Q);
|
||||
float L = glm::length(N);
|
||||
Error += L == 1.0f ? 0 : 1;
|
||||
float A = glm::angle(N);
|
||||
Error += glm::equalEpsilon(A, 45.0f, 0.01f) ? 0 : 1;
|
||||
}
|
||||
{
|
||||
glm::quat Q(45.0f, glm::vec3(1, 2, 3));
|
||||
glm::quat N = glm::normalize(Q);
|
||||
float L = glm::length(N);
|
||||
Error += L == 1.0f ? 0 : 1;
|
||||
float A = glm::angle(N);
|
||||
Error += glm::equalEpsilon(A, 45.0f, 0.01f) ? 0 : 1;
|
||||
}
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
Error += test_quat_angle();
|
||||
|
||||
return Error;
|
||||
}
|
Loading…
Reference in New Issue
Block a user