Merge branch 0.9.2

This commit is contained in:
Christophe Riccio 2011-05-24 13:33:05 +01:00
commit 598a8fc87e
14 changed files with 343 additions and 276 deletions

View File

@ -9,7 +9,7 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
#add_definitions(-pedantic)
#add_definitions(-S)
#add_definitions(-s)
#add_definitions(-msse2)
add_definitions(-msse2)
#add_definitions(-m32)
#add_definitions(-mfpmath=387)
#add_definitions(-ffast-math)

View File

@ -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&amp;Board=10&amp;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&amp;Board=10&amp;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>

View File

@ -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&amp;Board=10&amp;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">&lt;glm/glm.hpp&gt;</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 &amp; 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&amp;Board=10&amp;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">&lt;glm/glm.hpp&gt;</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 &amp; 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">

View File

@ -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&amp;Board=10&amp;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&amp;Board=10&amp;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.

View File

@ -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&amp;Board=10&amp;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&amp;Board=10&amp;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>

View File

@ -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&amp;Board=10&amp;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&amp;Board=10&amp;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.

View File

@ -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,11 +64,12 @@
<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.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.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"/>
<download name="GLM 0.9.1.1" date="17/03/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.1/glm-0.9.1.1.7z/download"/>
<download name="GLM 0.9.1.0" date="03/03/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.0/glm-0.9.1.0.7z/download"/>
<download name="GLM 0.9.1.0" date="03/03/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.0/glm-0.9.1.0.7z/download"/>
<download name="GLM 0.9.1.B" date="13/02/2011" size="2.1 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.B/glm-0.9.1.B.7z/download"/>
<download name="GLM 0.9.0.8" date="13/02/2011" size="1.9 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.8/glm-0.9.0.8.7z/download"/>
<download name="GLM 0.9.1.A" date="31/01/2011" size="2.0 MB" link="https://sourceforge.net/projects/ogl-math/files/glm-0.9.1.A/glm-0.9.1.A.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>

View File

@ -332,7 +332,7 @@ namespace detail
# define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
# define GLM_RESTRICT __declspec(restrict)
# define GLM_RESTRICT_VAR __restrict
#elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC31))
#elif((GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) && (GLM_COMPILER >= GLM_COMPILER_GCC31))
# define GLM_DEPRECATED __attribute__((__deprecated__))
# define GLM_ALIGN(x) __attribute__((aligned(x)))
# define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))

View File

@ -19,7 +19,6 @@
#define GLM_VERSION_PATCH 3
#define GLM_VERSION_REVISION 0
///////////////////////////////////////////////////////////////////////////////////////////////////
// Compiler
@ -43,6 +42,8 @@
// GCC defines
#define GLM_COMPILER_GCC 0x02000000
#define GLM_COMPILER_GCC_LLVM 0x02000000
#define GLM_COMPILER_GCC_CLANG 0x02000000
#define GLM_COMPILER_GCC30 0x02000010
#define GLM_COMPILER_GCC31 0x02000020
#define GLM_COMPILER_GCC32 0x02000030
@ -145,22 +146,19 @@
# define GLM_COMPILER GLM_COMPILER_VC
# endif//_MSC_VER
#elif defined(__clang__)
# if (__clang_major__ == 2) && (__clang_minor__ == 6)
# define GLM_COMPILER GLM_COMPILER_CLANG26
# elif (__clang_major__ == 2) && (__clang_minor__ == 7)
# define GLM_COMPILER GLM_COMPILER_CLANG27
# elif (__clang_major__ == 2) && (__clang_minor__ == 8)
# define GLM_COMPILER GLM_COMPILER_CLANG28
# elif (__clang_major__ == 2) && (__clang_minor__ == 9)
# define GLM_COMPILER GLM_COMPILER_CLANG29
# endif
#elif defined(__llvm__)
# define GLM_COMPILER GLM_COMPILER_LLVM_GCC
// G++
#elif defined(__GNUC__)
#elif defined(__GNUC__) || defined(__llvm__) || defined(__clang__)
# if defined (__llvm__)
# pragma message("LLVM")
# define GLM_COMPILER_GCC_EXTRA GLM_COMPILER_GCC_LLVM
# elif defined (__clang__)
# pragma message("CLANG")
# define GLM_COMPILER_GCC_EXTRA GLM_COMPILER_GCC_CLANG
# else
# pragma message("GCC")
# define GLM_COMPILER_GCC_EXTRA 0
# endif
#
# if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2)
# define GLM_COMPILER GLM_COMPILER_GCC32
# elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 3)
@ -170,29 +168,29 @@
# elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 5)
# define GLM_COMPILER GLM_COMPILER_GCC35
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 0)
# define GLM_COMPILER GLM_COMPILER_GCC40
# define GLM_COMPILER (GLM_COMPILER_GCC40 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 1)
# define GLM_COMPILER GLM_COMPILER_GCC41
# define GLM_COMPILER (GLM_COMPILER_GCC41 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
# define GLM_COMPILER GLM_COMPILER_GCC42
# define GLM_COMPILER (GLM_COMPILER_GCC42 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
# define GLM_COMPILER GLM_COMPILER_GCC43
# define GLM_COMPILER (GLM_COMPILER_GCC43 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
# define GLM_COMPILER GLM_COMPILER_GCC44
# define GLM_COMPILER (GLM_COMPILER_GCC44 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
# define GLM_COMPILER GLM_COMPILER_GCC45
# define GLM_COMPILER (GLM_COMPILER_GCC45 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
# define GLM_COMPILER GLM_COMPILER_GCC46
# define GLM_COMPILER (GLM_COMPILER_GCC46 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
# define GLM_COMPILER GLM_COMPILER_GCC47
# define GLM_COMPILER (GLM_COMPILER_GCC47 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
# define GLM_COMPILER GLM_COMPILER_GCC48
# define GLM_COMPILER (GLM_COMPILER_GCC48 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 9)
# define GLM_COMPILER GLM_COMPILER_GCC49
# define GLM_COMPILER (GLM_COMPILER_GCC49 | GLM_COMPILER_GCC_EXTRA)
# elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 0)
# define GLM_COMPILER GLM_COMPILER_GCC50
# define GLM_COMPILER (GLM_COMPILER_GCC50 | GLM_COMPILER_GCC_EXTRA)
# else
# define GLM_COMPILER GLM_COMPILER_GCC
# define GLM_COMPILER (GLM_COMPILER_GCC | GLM_COMPILER_GCC_EXTRA)
# endif
// Borland C++
@ -233,7 +231,13 @@
# elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
# pragma message("GLM: LLVM GCC compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
# pragma message("GLM: GCC compiler detected")
# if(GLM_COMPILER & GLM_COMPILER_GCC_LLVM)
# pragma message("GLM: LLVM GCC compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_GCC_CLANG)
# pragma message("GLM: CLANG compiler detected")
# else
# pragma message("GLM: GCC compiler detected")
# endif
# elif(GLM_COMPILER & GLM_COMPILER_BC)
# pragma message("GLM: Borland compiler detected but not supported")
# elif(GLM_COMPILER & GLM_COMPILER_CODEWARRIOR)
@ -343,6 +347,16 @@
# else
# define GLM_ARCH GLM_ARCH_PURE
# endif
#elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
# if(defined(__AVX__))
# define GLM_ARCH GLM_ARCH_AVX
# elif(defined(__SSE3__))
# define GLM_ARCH GLM_ARCH_SSE3
# elif(defined(__SSE2__))
# define GLM_ARCH GLM_ARCH_SSE2
# else
# define GLM_ARCH GLM_ARCH_PURE
# endif
#elif((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__)))
# if(defined(__AVX__))
# define GLM_ARCH GLM_ARCH_AVX

View File

@ -67,278 +67,281 @@ 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];} \
\
template <comp 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(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_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(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_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(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) \
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)
/*
# define static_swizzle2_const(TYPE) \
template <comp x, comp y> \
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
{return TYPE(v[x], v[y]);}
# define static_swizzle3_const(TYPE) \
# define static_swizzle3_const(TYPE) \
template <comp x, comp y, comp z> \
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
{return TYPE(v[x], v[y], v[z]);}
# define static_swizzle4_const(TYPE) \
# define static_swizzle4_const(TYPE) \
template <comp x, comp y, comp z, comp w> \
GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
{return TYPE(v[x], v[y], v[z], v[w]);}
/*
# define static_swizzle2_const(TYPE, SIZE) \
*/
# define static_swizzle2_const(TYPE, SIZE) \
template <comp x, comp y> \
GLM_FUNC_QUALIFIER detail::tvec2<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return detail::tvec2<TYPE>(v[x], v[y]);}
# define static_swizzle3_const(TYPE, SIZE) \
# define static_swizzle3_const(TYPE, SIZE) \
template <comp x, comp y, comp z> \
GLM_FUNC_QUALIFIER detail::tvec3<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return detail::tvec3<TYPE>(v[x], v[y], v[z]);}
# define static_swizzle4_const(TYPE, SIZE) \
# define static_swizzle4_const(TYPE, SIZE) \
template <comp x, comp y, comp z, comp w> \
GLM_FUNC_QUALIFIER detail::tvec4<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
{return detail::tvec4<TYPE>(v[x], v[y], v[z], v[w]);}
*/
static_swizzle2_const(glm::f16vec2)
static_swizzle2_const(glm::f16vec3)
static_swizzle2_const(glm::f16vec4)
static_swizzle2_const(glm::f32vec2)
static_swizzle2_const(glm::f32vec3)
static_swizzle2_const(glm::f32vec4)
static_swizzle2_const(glm::f64vec2)
static_swizzle2_const(glm::f64vec3)
static_swizzle2_const(glm::f64vec4)
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::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::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_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::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::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_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::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::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_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::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::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_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::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::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)
# define static_swizzle2_ref(TYPE) \
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)
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::u8vec4)
static_swizzle4_ref(glm::u16vec4)
static_swizzle4_ref(glm::u32vec4)
static_swizzle4_ref(glm::u64vec4)
static_swizzle4_ref(glm::u8, 4)
static_swizzle4_ref(glm::u16, 4)
static_swizzle4_ref(glm::u32, 4)
static_swizzle4_ref(glm::u64, 4)
}//namespace swizzle
}//namespace gtc

View File

@ -33,7 +33,7 @@ namespace detail
{
/// 4-dimensional vector implemented using SIMD SEE intrinsics.
/// \ingroup gtx_simd_vec4
GLM_ALIGNED_STRUCT(4) fvec4SIMD
GLM_ALIGNED_STRUCT(16) fvec4SIMD
{
enum ctor{null};
typedef __m128 value_type;
@ -114,7 +114,7 @@ namespace detail
namespace gtx{
namespace simd_vec4 ///< GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type.
{
typedef detail::fvec4SIMD simdVec4;
typedef glm::detail::fvec4SIMD simdVec4;
/// \addtogroup gtx_simd_vec4
///@{

View File

@ -314,6 +314,8 @@ namespace glm
detail::fvec4SIMD const & x
)
{
//return x < 0 ? -floor(-x) : floor(x);
__m128 Flr0 = detail::sse_flr_ps(_mm_sub_ps(_mm_setzero_ps(), x.Data));
__m128 Sub0 = _mm_sub_ps(Flr0, x.Data);
__m128 Flr1 = detail::sse_flr_ps(x.Data);
@ -321,7 +323,7 @@ namespace glm
__m128 Cmp0 = _mm_cmplt_ps(x.Data, glm::detail::zero);
__m128 Cmp1 = _mm_cmpnlt_ps(x.Data, glm::detail::zero);
__m128 And0 = _mm_and_ps(Flr0, Cmp0);
__m128 And0 = _mm_and_ps(Sub0, Cmp0);
__m128 And1 = _mm_and_ps(Flr1, Cmp1);
return _mm_or_ps(And0, And1);

View File

@ -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