Jason McKesson avatar Jason McKesson committed 87423bd

Upgraded GLM to version 0.9.0.7.

Comments (0)

Files changed (529)

framework/framework.lua

 		objdir "../framework/lib"
 
 		includedirs {"../freeglut-2.6.0/include", "../glloader/include",
-			"../FreeImage/dist", "../glm-0.9.0.0", "../tinyxml", "../framework"}
+			"../FreeImage/dist", "../glm-0.9.0.7", "../tinyxml", "../framework"}
 		
 		configuration "Debug"
 			defines {"DEBUG", "_DEBUG"}
 		targetdir "bin"
 
 		includedirs {"../freeglut-2.6.0/include", "../glloader/include",
-			"../FreeImage/dist", "../glm-0.9.0.0", "../tinyxml"}
+			"../FreeImage/dist", "../glm-0.9.0.7", "../tinyxml"}
 			
 		links "framework"
 

glm-0.9.0.7/CMakeLists.txt

+cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
+cmake_policy(VERSION 2.6)
+
+project(glm)
+
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
+add_subdirectory(glm)
+add_subdirectory(doc)
+
+
+

glm-0.9.0.7/FindGLM.cmake

+if(NOT GLM_PACKAGE_DIR)
+	message("ERROR: GLM_PACKAGE_DIR requires to be set")
+endif(NOT GLM_PACKAGE_DIR)
+
+set(GLM_INCLUDE_DIR ${GLM_PACKAGE_DIR})
+set(GLM_LIBRARY_DIR )
+
+include_directories(${GLM_INCLUDE_DIR})
+
+if(GLM_PACKAGE_DIR AND GLM_INCLUDE_DIR)
+	set(GLM_FOUND "YES")
+endif(GLM_PACKAGE_DIR AND GLM_INCLUDE_DIR)

glm-0.9.0.7/copying.txt

+The MIT License
+
+Copyright (c) 2005 - 2010 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-0.9.0.7/doc/CMakeLists.txt

+set(NAME glm-doc)
+
+file(GLOB ROOT_CPP src/*.cpp)
+file(GLOB ROOT_XML src/*.xml)
+file(GLOB ROOT_XSL src/*.xsl)
+
+source_group("XML Files" FILES ${ROOT_XML})
+source_group("XSL Files" FILES ${ROOT_XSL})
+
+add_executable(${NAME} ${ROOT_CPP} ${ROOT_XML} ${ROOT_XSL})
Add a comment to this file

glm-0.9.0.7/doc/GLM-0.9.0.pdf

Binary file added.

glm-0.9.0.7/doc/about.html

+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html><head><title>OpenGL Mathematics : About</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></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.0.7/glm-0.9.0.7.zip/download">
+			Download GLM 0.9.0.7</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/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.00.8.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/projects/ogl-math/">SF.net page</a></div><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math">Bug report</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">GIT HEAD snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></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><div class="paragraph">
+      OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification.
+    </div><br /><div class="paragraph">
+      The goal of the project is to provide to 3D programmers math classes and functions that miss in C++ when we use to program with GLSL or any high level GPU language. With GLM, the idea is to have a library that works the same way that GLSL which imply a strict following of GLSL specification for the implementation.
+    </div><br /><div class="paragraph">
+      However, this project isn't limited by GLSL features. An extension system allows to extend GLSL capabilities. It allows GLM to be a great subtitute for some OpenGL 3 deprecated functions, to work following a clean programmable approach.
+    </div><br /><div class="paragraph">
+      GLM is release under <a href="./copying.txt">MIT license</a> and available for all version of GCC from version 3.4 and Visual Studio from version 8.0 as a platform independent library.
+    </div><br /></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>

glm-0.9.0.7/doc/code.html

+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html><head><title>OpenGL Mathematics: Code</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></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.0.7/glm-0.9.0.7.zip/download">
+			Download GLM 0.9.0.7</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/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.00.8.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/projects/ogl-math/">SF.net page</a></div><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math">Bug report</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">GIT HEAD snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></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)
+      </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">
+        glm::<span class="userword">vec3 </span><span class="keyword">const </span> &amp; a = Triangle.Position[0];
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec3 </span><span class="keyword">const </span> &amp; b = Triangle.Position[1];
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec3 </span><span class="keyword">const </span> &amp; c = Triangle.Position[2];
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        Triangle.Normal = glm::normalize(glm::cross(c - a, b - a));
+      </span></li><li class="code-line"><span class="code-line-content">
+        }
+      </span></li></ul><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Matrix transform:</span><ul xmlns="http://www.w3.org/1999/xhtml" class="code-list"><li class="code-line"><span class="code-line-content"><span class="comment">// glm::vec3, glm::vec4, glm::ivec4, glm::mat4</span></span></li><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"><span class="comment">// glm::perspective</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/gtc/matrix_projection.hpp&gt; </span></span></li><li class="code-line"><span class="code-line-content"><span class="comment">// glm::translate, glm::rotate, glm::scale</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/gtc/matrix_transform.hpp&gt; </span></span></li><li class="code-line"><span class="code-line-content"><span class="comment">// glm::value_ptr</span></span></li><li class="code-line"><span class="code-line-content"><span class="keyword">#include </span><span class="string">&lt;glm/gtc/type_ptr.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></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">mat4</span> Projection =
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        glm::perspective(45.0f, 4.0f / 3.0f, 0.1f, 100.f);
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">mat4</span> ViewTranslate = glm::translate(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        glm::<span class="userword">mat4</span>(1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        glm::<span class="userword">vec3</span>(0.0f, 0.0f, -Translate));
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">mat4</span> ViewRotateX = glm::rotate(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        ViewTranslate,
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        Rotate.y, glm::<span class="userword">vec3</span>(-1.0f, 0.0f, 0.0f));
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">mat4</span> View = glm::rotate(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        ViewRotateX,
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        Rotate.x, glm::<span class="userword">vec3</span>(0.0f, 1.0f, 0.0f));
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::mat4 Model = glm::scale(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        glm::<span class="userword">mat4</span>(1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        glm::<span class="userword">vec3</span>(0.5f));
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">mat4</span> MVP = Projection * View * Model;
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glUniformMatrix4fv(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        LocationMVP, 1, GL_FALSE, glm::value_ptr(MVP));
+      </span></li><li class="code-line"><span class="code-line-content">
+        }
+      </span></li></ul><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Vector types:</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"><span class="keyword">#include </span><span class="string">&lt;glm/gtx/type_precision.hpp&gt;</span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content">
+        std::size_t <span class="keyword">const </span>VertexCount = 4;
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="comment">// Float quad geometry</span></span></li><li class="code-line"><span class="code-line-content">
+        std::size_t <span class="keyword">const </span>PositionSizeF32 = VertexCount * <span class="keyword">sizeof</span>(glm::<span class="userword">vec2</span>);
+      </span></li><li class="code-line"><span class="code-line-content">
+        glm::<span class="userword">vec2 </span><span class="keyword">const </span>PositionDataF32[VertexCount] =
+      </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">
+        glm::<span class="userword">vec2</span>(-1.0f,-1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec2</span>( 1.0f,-1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec2</span>( 1.0f, 1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec2</span>(-1.0f, 1.0f)
+      </span></li><li class="code-line"><span class="code-line-content">
+        };
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="comment">// Half-float quad geometry</span></span></li><li class="code-line"><span class="code-line-content">
+        std::size_t <span class="keyword">const </span>PositionSizeF16 = VertexCount * <span class="keyword">sizeof</span>(glm::<span class="userword">hvec2</span>);
+      </span></li><li class="code-line"><span class="code-line-content">
+        glm::<span class="userword">hvec2 </span><span class="keyword">const </span>PositionDataF16[VertexCount] =
+      </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">
+        glm::<span class="userword">hvec2</span>(-1.0f, -1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">hvec2</span>( 1.0f, -1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">hvec2</span>( 1.0f,  1.0f),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">hvec2</span>(-1.0f,  1.0f)
+      </span></li><li class="code-line"><span class="code-line-content">
+        };
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="comment">// 8 bits signed integer quad geometry</span></span></li><li class="code-line"><span class="code-line-content">
+        std::size_t <span class="keyword">const </span>PositionSizeI8 = VertexCount * <span class="keyword">sizeof</span>(glm::<span class="userword">i8vec2</span>);
+      </span></li><li class="code-line"><span class="code-line-content">
+        glm::<span class="userword">i8vec2 </span><span class="keyword">const </span> PositionDataI8[VertexCount] =
+      </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">
+        glm::<span class="userword">i8vec2</span>(-1,-1),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">i8vec2</span>( 1,-1),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">i8vec2</span>( 1, 1),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">i8vec2</span>(-1, 1)
+      </span></li><li class="code-line"><span class="code-line-content">
+        };
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content"><span class="comment">// 32 bits signed integer quad geometry</span></span></li><li class="code-line"><span class="code-line-content">
+        std::size_t <span class="keyword">const </span>PositionSizeI32 = VertexCount * <span class="keyword">sizeof</span>(glm::<span class="userword">i32vec2</span>);
+      </span></li><li class="code-line"><span class="code-line-content">
+        glm::<span class="userword">i32vec2 </span><span class="keyword">const </span>PositionDataI32[VertexCount] =
+      </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">
+        glm::<span class="userword">i32vec2 </span>(-1,-1),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">i32vec2 </span>( 1,-1),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">i32vec2 </span>( 1, 1),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">i32vec2 </span>(-1, 1)
+      </span></li><li class="code-line"><span class="code-line-content">
+        };
+      </span></li></ul><span xmlns="http://www.w3.org/1999/xhtml" class="code-title">Lighting:</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"><span class="keyword">#include </span><span class="string">&lt;glm/gtx/random.hpp&gt;</span></span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content">
+        glm::<span class="userword">vec3 </span> lighting
+      </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">
+        intersection<span class="keyword"> const </span>&amp; Intersection,
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        material<span class="keyword"> const </span>&amp; Material,
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        light<span class="keyword"> const </span>&amp; Light,
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec3 </span>const &amp; View
+      </span></li><li class="code-line"><span class="code-line-content">
+        )
+      </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">
+        glm::<span class="userword">vec3 </span> Color = glm::<span class="userword">vec3</span>(0.0f);
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        glm::<span class="userword">vec3 </span>LightVertor = glm::normalize(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        Light.position() - Intersection.globalPosition() +
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px">
+        glm::vecRand3(0.0f, Light.inaccuracy());
+      </span></li><li class="code-line"><span class="code-line-content" /></li><li class="code-line"><span class="code-line-content" style="padding-left:32px"><span class="keyword">if</span>(!shadow(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        Intersection.globalPosition(),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        Light.position(),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        LightVertor))
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:32px">
+        {
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px"><span class="keyword">float</span> Diffuse = glm::dot(Intersection.normal(), LightVector);
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px" /></li><li class="code-line"><span class="code-line-content" style="padding-left:64px"><span class="keyword">if</span>(Diffuse &lt;= 0.0f)
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px"><span class="keyword">return</span> Color;
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px"><span class="keyword">if</span>(Material.isDiffuse())
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px">
+        Color += Light.color() * Material.diffuse() * Diffuse;
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px" /></li><li class="code-line"><span class="code-line-content" style="padding-left:64px"><span class="keyword">if</span>(Material.isSpecular())
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        {
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px">
+        glm::<span class="userword">vec3 </span>Reflect = glm::reflect(
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:128px">
+        glm::normalize(-LightVector),
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:128px">
+        glm::normalize(Intersection.normal()));
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px"><span class="keyword">float</span> Dot = glm::dot(Reflect, View);
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px"><span class="keyword">float</span> Base = Dot &gt; 0.0f ? Dot : 0.0f;
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px"><span class="keyword">float</span> Specular = glm::pow(Base, Material.exponent());
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:96px">
+        Color += Material.specular() * Specular;
+      </span></li><li class="code-line"><span class="code-line-content" style="padding-left:64px">
+        }
+      </span></li><li class="code-line"><span class="code-line-content">
+        }
+      </span></li></ul><div class="title3">Copyright � 2005 - 2011<a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

glm-0.9.0.7/doc/common/doxygen/doxygen.css

+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+	font-family: Geneva, Arial, Helvetica, sans-serif;
+}
+BODY,TD {
+	font-size: 90%;
+}
+H1 {
+	text-align: center;
+	font-size: 160%;
+}
+H2 {
+	font-size: 120%;
+}
+H3 {
+	font-size: 100%;
+}
+CAPTION { 
+	font-weight: bold 
+}
+DIV.qindex {
+	width: 100%;
+	background-color: #ff8000;/*#e8eef2;*/
+	border: 1px solid #ff8000;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+	line-height: 140%;
+}
+DIV.navpath {
+	width: 100%;
+	background-color: #ff8000;/*e8eef2*/
+	border: 1px solid #ff8000;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+	line-height: 140%;
+}
+DIV.navtab {
+       background-color: #ff8000;/*#e8eef2;*/
+       border: 1px solid #ff8000;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+TD.navtab {
+       font-size: 70%;
+}
+A.qindex {
+       text-decoration: none;
+       font-weight: bold;
+       color: #ff8000;
+}
+A.qindex:visited {
+       text-decoration: none;
+       font-weight: bold;
+       color: #ff8000
+}
+A.qindex:hover {
+	text-decoration: none;
+	background-color: #ffe0c0;
+}
+A.qindexHL {
+	text-decoration: none;
+	font-weight: bold;
+	background-color: #ffe0c0;
+	color: #ffffff;
+	border: 1px double #ffe0c0;
+}
+A.qindexHL:hover {
+	text-decoration: none;
+	background-color: #ffe0c0;
+	color: #ffffff;
+}
+A.qindexHL:visited { 
+	text-decoration: none; 
+	background-color: #ffe0c0; 
+	color: #ffffff 
+}
+A.el { 
+	text-decoration: none; 
+	font-weight: bold 
+}
+A.elRef { 
+	font-weight: bold 
+}
+A.code:link { 
+	text-decoration: none; 
+	font-weight: normal; 
+	color: #ff8000
+}
+A.code:visited { 
+	text-decoration: none; 
+	font-weight: normal; 
+	color: #ff8000
+}
+A.codeRef:link { 
+	font-weight: normal; 
+	color: #ff8000
+}
+A.codeRef:visited { 
+	font-weight: normal; 
+	color: #ff8000
+}
+A:hover { 
+	text-decoration: none; 	
+	background-color: #f2f2ff 
+}
+DL.el { 
+	margin-left: -1cm 
+}
+.fragment {
+       font-family: monospace, fixed;
+       font-size: 95%;
+}
+PRE.fragment {
+	border: 1px solid #CCCCCC;
+	background-color: #f5f5f5;
+	margin-top: 4px;
+	margin-bottom: 4px;
+	margin-left: 2px;
+	margin-right: 8px;
+	padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 4px;
+	padding-bottom: 4px;
+}
+DIV.ah { 
+	background-color: black; 
+	font-weight: bold; 
+	color: #ffffff; 
+	margin-bottom: 3px; 
+	margin-top: 3px 
+}
+
+DIV.groupHeader {
+       margin-left: 16px;
+       margin-top: 12px;
+       margin-bottom: 6px;
+       font-weight: bold;
+}
+DIV.groupText { 
+	margin-left: 16px; 
+	font-style: italic; 
+	font-size: 90% 
+}
+BODY {
+	background: white;
+	color: black;
+	margin-right: 20px;
+	margin-left: 20px;
+}
+TD.indexkey {
+	background-color: #fff0e0;/*#e8eef2;*/
+	font-weight	   : normal;
+	padding-right  : 10px;
+	padding-top    : 8px;
+	padding-left   : 10px;
+	padding-bottom : 8px;
+	margin-left    : 0px;
+	margin-right   : 0px;
+	margin-top     : 2px;
+	margin-bottom  : 2px;
+	border: 0px solid #CCCCCC;
+	-moz-border-radius: 8px 8px 8px 8px;
+}
+TD.indexvalue {
+	background-color: #fff0e0;/*#e8eef2;*/
+	font-style: italic;
+	padding-right  : 10px;
+	padding-top    : 8px;
+	padding-left   : 10px;
+	padding-bottom : 8px;
+	margin-left    : 0px;
+	margin-right   : 0px;
+	margin-top     : 2px;
+	margin-bottom  : 2px;
+	border: 0px solid #CCCCCC;
+	-moz-border-radius: 8px 8px 8px 8px;
+}
+TR.memlist {
+	background-color: #f0f0f0; 
+}
+P.formulaDsp { 
+	text-align: center; 
+}
+IMG.formulaDsp {
+}
+IMG.formulaInl { 
+	vertical-align: middle; 
+}
+SPAN.keyword       { color: #008000 }
+SPAN.keywordtype   { color: #604020 }
+SPAN.keywordflow   { color: #e08000 }
+SPAN.comment       { color: #800000 }
+SPAN.preprocessor  { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral   { color: #008080 }
+SPAN.vhdldigit     { color: #ff00ff }
+SPAN.vhdlchar      { color: #000000 }
+SPAN.vhdlkeyword   { color: #700070 }
+SPAN.vhdllogic     { color: #ff0000 }
+
+.mdescLeft {
+	padding: 0px 8px 4px 8px;
+	font-size: 80%;
+	font-style: italic;
+	background-color: #FAFAFA;
+	border-top: 1px none #E0E0E0;
+	border-right: 1px none #E0E0E0;
+	border-bottom: 1px none #E0E0E0;
+	border-left: 1px none #E0E0E0;
+	margin: 0px;
+}
+.mdescRight {
+        padding: 0px 8px 4px 8px;
+	font-size: 80%;
+	font-style: italic;
+	background-color: #FAFAFA;
+	border-top: 1px none #E0E0E0;
+	border-right: 1px none #E0E0E0;
+	border-bottom: 1px none #E0E0E0;
+	border-left: 1px none #E0E0E0;
+	margin: 0px;
+}
+.memItemLeft {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memItemRight {
+	padding: 1px 8px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplItemLeft {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: none;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplItemRight {
+	padding: 1px 8px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: none;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplParams {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	color: #606060;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.search { 
+	color: #003399;
+	font-weight: bold;
+}
+FORM.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+INPUT.search { 
+	font-size: 75%;
+	color: #402000;
+	font-weight: normal;
+	background-color: #ffe0c0;
+}
+TD.tiny { 
+	font-size: 75%;
+}
+a {
+	color: #402000;
+}
+a:visited {
+	color: #804000;
+}
+.dirtab { 
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #fff0e0;
+}
+TH.dirtab { 
+	background: #fff0e0;
+	font-weight: bold;
+}
+HR { 
+	height: 1px;
+	border: none;
+	border-top: 1px solid black;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+	font-size: 80%;
+	color: #606060;
+	font-weight: normal;
+	margin-left: 3px;
+} 
+.memnav { 
+	background-color: #ffe0c0;
+	border: 1px solid #ffe0c0;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+.memitem {
+	padding: 4px;
+	background-color: #fff0e0;
+	border-width: 1px;
+	border-style: solid;
+	border-color: #fff0e0;
+	-moz-border-radius: 8px 8px 8px 8px;
+}
+.memname {
+	white-space: nowrap;
+	font-weight: bold;
+}
+.memdoc{
+	padding-left: 10px;
+}
+.memproto {
+	background-color: #ffe0c0;
+	width: 100%;
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ffe0c0;
+	font-weight: bold;
+	-moz-border-radius: 8px 8px 8px 8px;
+}
+.paramkey {
+	text-align: right;
+}
+.paramtype {
+	white-space: nowrap;
+}
+.paramname {
+	color: #602020;
+	font-style: italic;
+	white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+	font-family: sans-serif;
+	margin:0.5em;
+}
+/* these are for tree view when used as main index */
+.directory { 
+	font-size: 9pt; 
+	font-weight: bold; 
+}
+.directory h3 { 
+	margin: 0px; 
+	margin-top: 1em; 
+	font-size: 11pt; 
+}
+
+/* The following two styles can be used to replace the root node title */
+/* with an image of your choice.  Simply uncomment the next two styles, */
+/* specify the name of your image and be sure to set 'height' to the */
+/* proper pixel height of your image. */
+
+/* .directory h3.swap { */
+/* 	height: 61px; */
+/* 	background-repeat: no-repeat; */
+/* 	background-image: url("yourimage.gif"); */
+/* } */
+/* .directory h3.swap span { */
+/* 	display: none; */
+/* } */
+
+.directory > h3 { 
+	margin-top: 0; 
+}
+.directory p { 
+	margin: 0px; 
+	white-space: nowrap; 
+}
+.directory div { 
+	display: none; 
+	margin: 0px; 
+}
+.directory img { 
+	vertical-align: -30%; 
+}
+/* these are for tree view when not used as main index */
+.directory-alt { 
+	font-size: 100%; 
+	font-weight: bold; 
+}
+.directory-alt h3 { 
+	margin: 0px; 
+	margin-top: 1em; 
+	font-size: 11pt; 
+}
+.directory-alt > h3 { 
+	margin-top: 0; 
+}
+.directory-alt p { 
+	margin: 0px; 
+	white-space: nowrap; 
+}
+.directory-alt div { 
+	display: none; 
+	margin: 0px; 
+}
+.directory-alt img { 
+	vertical-align: -30%; 
+}
+
Add a comment to this file

glm-0.9.0.7/doc/common/doxygen/doxygen.png

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/doxygen/tab_b.gif

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/doxygen/tab_l.gif

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/doxygen/tab_r.gif

Added
New image

glm-0.9.0.7/doc/common/doxygen/tabs.css

+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+   float            : left;
+   width            : 100%;
+   background       : url("tab_b.gif") repeat-x bottom;
+   margin-bottom    : 4px;
+}
+
+DIV.tabs UL
+{
+   margin           : 0px;
+   padding-left     : 10px;
+   list-style       : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+   display          : inline;
+   margin           : 0px;
+   padding          : 0px;
+}
+
+DIV.tabs FORM
+{
+   float            : right;
+}
+
+DIV.tabs A
+{
+   float            : left;
+   background       : url("tab_r.gif") no-repeat right top;
+   border-bottom    : 1px solid #FF8000;
+   font-size        : x-small;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+DIV.tabs A:hover
+{
+   background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+       color: #000000;/*#1A419D;*/
+}
+
+DIV.tabs SPAN
+{
+   float            : left;
+   display          : block;
+   background       : url("tab_l.gif") no-repeat left top;
+   padding          : 5px 9px;
+   white-space      : nowrap;
+}
+
+DIV.tabs INPUT
+{
+   float            : right;
+   display          : inline;
+   font-size        : 1em;
+}
+
+DIV.tabs TD
+{
+   font-size        : x-small;
+   font-weight      : bold;
+   text-decoration  : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+   background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+   background-position: 100% -150px;
+   border-width     : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+   background-position: 0% -150px;
+   padding-bottom   : 6px;
+}
+
+DIV.navpath
+{
+   background       : none;
+   border           : none;
+   border-bottom    : 1px solid #FF8000;
+}
Add a comment to this file

glm-0.9.0.7/doc/common/email.png

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/g-truc.jpg

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/logo.png

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/opengl.jpg

Added
New image
Add a comment to this file

glm-0.9.0.7/doc/common/sourceforge.gif

Added
New image

glm-0.9.0.7/doc/common/style.css

+body
+{
+	background-color:#fff8f0;
+	width:100%;
+}
+
+table
+{
+	background-color:#ffffff;
+	width:800px;
+	margin-left:auto;
+	margin-right:auto;
+}
+
+ul
+{
+	padding:0px;
+	margin:0px;
+}
+
+table.principale
+{
+	background-color:#ff8000;
+	border-style:none;
+	border-width:0px;
+	border-spacing:0px;
+	margin-top: 0px;
+	margin-bottom: 0px;
+	margin-right: 0px;
+	margin-left: 0px;
+	padding-right: 0px;
+	padding-left: 0px;
+	padding-bottom: 0px;
+	padding-top: 0px;
+	width:100%;
+}
+
+tr.principale
+{
+	background-color:#ff8000;
+	border-style:none;
+	border-width:0px;
+	border-spacing:0px;
+	margin-top: 0px;
+	margin-bottom: 0px;
+	margin-right: 0px;
+	margin-left: 0px;
+	padding-right: 0px;
+	padding-left: 0px;
+	padding-bottom: 0px;
+	padding-top: 0px;	
+}
+
+div.title1
+{
+    text-align:center;
+    font-size:48px;
+    border-style:solid;
+    border-width:0px;
+    color:#000000;
+}
+
+div.title2
+{
+    text-align:left;
+    font-size:20px;
+    font-weight:bold;
+    color:#000000;
+}
+
+div.title3
+{
+    text-align:center;
+    font-size:16px;
+    border-style:none;
+    border-width:1px;
+}
+
+div.title4
+{
+    text-align:left;
+    font-size:16px;
+    font-weight:bolder;
+    color:#FF8000;
+}
+
+div.title-date
+{
+    text-align:right;
+    font-size:16px;
+    font-weight:bolder;
+    color:#FF8000;
+}
+
+div.menu1
+{
+    text-align:center;
+    font-size:16px;
+    font-weight:bolder;
+}
+
+div.menu2
+{
+    text-align:center;
+    font-size:16px;
+}
+
+div.news-separator
+{
+	text-align:center;
+	color:#FF8000;
+}
+
+div.email
+{
+	text-align:center;
+}
+
+div.image
+{
+	text-align:right;
+}
+
+img.menu-img
+{
+    text-align:center;
+    font-size:16px;
+    border-color:#000000;
+    border-style:solid;
+    border-width:0px;    
+}
+
+div.paragraph
+{
+    /*text-indent:32px;   */
+    text-align:justify;
+}
+
+div.block
+{
+	padding-right: 16px;
+	padding-left: 16px;
+}
+
+div.include
+{
+	color:#0000FF;
+}
+
+spam.key
+{
+	color:#0000FF;
+}
+
+div.comment
+{
+	color:#008000;
+}
+
+td.page
+{
+    vertical-align:top;
+	padding-right: 32px;
+	padding-left: 32px;
+	padding-bottom: 0px;
+	padding-top: 0px;
+	width:100%;
+}
+
+td.menu
+{
+    vertical-align:top;
+    text-align:right;
+    border-width:0px;
+    border-right-style:solid;
+    border-color:#000000;
+    width:160px;
+	padding-right: 32px;
+	padding-left: 0px;
+	padding-bottom: 0px;
+	padding-top: 0px;
+}
+/*
+a.menu
+{
+    color:#FF8000;
+    font-weight:bolder;   
+}
+*/
+a.menu
+{
+    color:#008000;    
+}
+
+a
+{
+    color:#008000;    
+}
+
+div.issue-content
+{
+    text-indent:32px;   
+}
+
+div.issue-title
+{
+    font-weight:bold;    
+}
+
+span.progword
+{
+	color:#000000;
+	font-family:"Courier New";
+	font-size:11px;	
+}
+
+span.bold
+{
+	font-weight:bold;	
+}
+
+span.code-title
+{
+	padding-left:0px;
+	color:#803300;
+}
+
+span.code-line-content
+{
+	display:inline;
+	color:#000000;
+	border-left-style:solid;
+	border-left-width:1px;
+	border-left-color:#ffdac1;
+	margin-left:0px;
+	padding-left:8px;
+}
+
+ul.code-list
+{
+	border-style:solid;
+	border-width:1px;
+	border-color:#ffdac1;
+	color:#803300;
+	margin-bottom:16px;
+	margin-left:0px;
+	margin-right:0px;
+}
+
+li.code-line
+{
+	color:#008080;
+	font-family:"Courier New";
+	font-size:11px;
+	clear:both;
+	width:100%;
+	list-style-position:inside;
+	list-style-type:decimal-leading-zero;
+	margin:0px;
+	padding:0px;
+	padding-left:0px;
+}
+
+li.code-line:after
+{
+	clear:both;
+}
+
+span.code-line-content
+{
+	display:inline;
+	color:#000000;
+	border-left-style:solid;
+	border-left-width:1px;
+	border-left-color:#ffdac1;
+	margin-left:0px;
+	padding-left:8px;
+}
+
+span.userword
+{
+	color:#ff8000;	
+}
+
+span.keyword
+{
+	color:#0000ff;
+}
+
+span.comment
+{
+	color:#008000;
+}
+
+span.string
+{
+	color:#800000;
+}
+
+span.codeword
+{
+	color:#000000;
+	font-family:"Courier New";
+}
Add a comment to this file

glm-0.9.0.7/doc/common/title.png

Added
New image

glm-0.9.0.7/doc/download.html

+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html><head><title>OpenGL Mathematics : Downloads</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></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.0.7/glm-0.9.0.7.zip/download">
+			Download GLM 0.9.0.7</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/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.00.8.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/projects/ogl-math/">SF.net page</a></div><div class="menu2"><a href="https://sourceforge.net/apps/trac/ogl-math">Bug report</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">GIT HEAD snapshot</a></div><br /><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></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">30/01/2010:
+                <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.7/glm-0.9.0.7.zip/download">GLM 0.9.0.7</a>
+                (2.2 MB)
+              </div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - zip files</div><div class="issue-content">30/01/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.7/glm-0.9.0.7.zip/download">GLM 0.9.0.7</a> (2.2 MB)
+    </div><div class="issue-content">21/12/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.6/glm-0.9.0.6.zip/download">GLM 0.9.0.6</a> (2.2 MB)
+    </div><div class="issue-content">01/11/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.5/glm-0.9.0.5.zip/download">GLM 0.9.0.5</a> (2.2 MB)
+    </div><div class="issue-content">04/10/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.4/glm-0.9.0.4.zip/download">GLM 0.9.0.4</a> (1.5 MB)
+    </div><div class="issue-content">26/08/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.3/glm-0.9.0.3.zip/download">GLM 0.9.0.3</a> (1.5 MB)
+    </div><div class="issue-content">08/07/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.2/glm-0.9.0.2.zip/download">GLM 0.9.0.2</a> (809 KB)
+    </div><div class="issue-content">21/06/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.1/glm-0.9.0.1.zip/download">GLM 0.9.0.1</a> (727 KB)
+    </div><div class="issue-content">25/05/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.0/glm-0.9.0.0.zip/download">GLM 0.9.0.0</a> (1.0 MB)
+    </div><div class="issue-content">30/04/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.B.2/glm-0.9.B.2.zip/download">GLM 0.9.B.2</a> (1.1 MB)
+    </div><div class="issue-content">03/04/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.9.B.1/glm-0.9.B.1.zip/download">GLM 0.9.B.1</a> (964 KB)
+    </div><div class="issue-content">20/02/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.9.A.2/glm-0.9.A.2.zip/download">GLM 0.9.A.2</a> (1.3 KB)
+    </div><div class="issue-content">09/02/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.9.A.1/glm-0.9.A.1.zip/download">GLM 0.9.A.1</a> (952 KB)
+    </div><div class="issue-content">25/01/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.4/glm-0.8.4.4.zip/download">GLM 0.8.4.4</a> (1.1 MB)
+    </div><div class="issue-content">14/11/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">GLM 0.8.4.3</a> (1.1 MB)
+    </div><div class="issue-content">19/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.2/glm-0.8.4.2.zip/download">GLM 0.8.4.2</a> (1.1 MB)
+    </div><div class="issue-content">03/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.1/glm-0.8.4.1.zip/download">GLM 0.8.4.1</a> (1.1 MB)
+    </div><div class="issue-content">16/09/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.0/glm-0.8.4.0.zip/download">GLM 0.8.4.0</a> (1.1 MB)
+    </div><div class="issue-content">11/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.5/glm-0.8.3.5.zip/download">GLM 0.8.3.5</a> (971 KB)
+    </div><div class="issue-content">10/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.4/glm-0.8.3.4.zip/download">GLM 0.8.3.4</a> (971 KB)
+    </div><div class="issue-content">25/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.3/glm-0.8.3.3.zip/download">GLM 0.8.3.3</a> (971 KB)
+    </div><div class="issue-content">04/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.2/glm-0.8.3.2.zip/download">GLM 0.8.3.2</a> (971 KB)
+    </div><div class="issue-content">21/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.1/glm-0.8.3.1.zip/download">GLM 0.8.3.1</a> (945 KB)
+    </div><div class="issue-content">06/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.0/glm-0.8.3.0.zip/download">GLM 0.8.3.0</a> (896 KB)
+    </div><div class="issue-content">01/04/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.3/glm-0.8.2.3.zip/download">GLM 0.8.2.3</a> (961 KB)
+    </div><div class="issue-content">24/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.2/glm-0.8.2.2.zip/download">GLM 0.8.2.2</a> (961 KB)
+    </div><div class="issue-content">13/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.1/glm-0.8.2.1.zip/download">GLM 0.8.2.1</a> (963 KB)
+    </div><div class="issue-content">21/01/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.0/glm-0.8.2.0.zip/download">GLM 0.8.2.0</a> (963 KB)
+    </div><div class="issue-content">30/10/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.1.0/glm-0.8.1.0.zip/download">GLM 0.8.1.0</a> (938 KB)
+    </div><div class="issue-content">23/10/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.0.0/glm-0.8.0.0.zip/download">GLM 0.8.0.0</a> (936 KB)
+    </div><div class="issue-content">08/08/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.6.0/glm-0.7.6.0.zip/download">GLM 0.7.6.0</a> (907 KB)
+    </div><div class="issue-content">05/07/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.5.0/glm-0.7.5.0.zip/download">GLM 0.7.5.0</a> (852 KB)
+    </div><div class="issue-content">06/01/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.4.0/glm-0.7.4.0.zip/download">GLM 0.7.4.0</a> (859 KB)
+    </div><div class="issue-content">05/24/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.3.0/glm-0.7.3.0.zip/download">GLM 0.7.3.0</a> (1.8 MB)
+    </div><div class="issue-content">04/27/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.2.0/glm-0.7.2.0.zip/download">GLM 0.7.2.0</a> (1.8 MB)
+    </div><div class="issue-content">03/24/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.1.0/glm-0.7.1.0.zip/download">GLM 0.7.1.0</a> (1.8 MB)
+    </div><div class="issue-content">03/22/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.0.0/glm-0.7.0.0.zip/download">GLM 0.7.0.0</a> (1.8 MB)
+    </div><div class="issue-content">12/10/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.4.0/glm-0.6.4.0.zip/download">GLM 0.6.4.0</a> (1.8 MB)
+    </div><div class="issue-content">11/05/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.3.0/glm-0.6.3.0.zip/download">GLM 0.6.3.0</a> (1.8 MB)
+    </div><div class="issue-content">10/08/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.2.0/glm-0.6.2.0.zip/download">GLM 0.6.2.0</a> (1.8 MB)
+    </div><div class="issue-content">10/07/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.1.0/glm-0.6.1.0.zip/download">GLM 0.6.1.0</a> (1.8 MB)
+    </div><div class="issue-content">09/16/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.0.0/glm-0.6.0.0.zip/download">GLM 0.6.0.0</a> (1.8 MB)
+    </div><div class="issue-content">02/19/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.5.1.zip?download">GLM 0.5.1.0</a> (2.3 MB)
+    </div><div class="issue-content">01/06/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.5.0.zip?download">GLM 0.5.0.0</a> (2.4 MB)
+    </div><div class="issue-content">05/22/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.4.1.zip?download">GLM 0.4.1.0</a> (1.6 MB)
+    </div><div class="issue-content">05/17/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.4.0.zip?download">GLM 0.4.0.0</a> (905 KB)
+    </div><div class="issue-content">04/22/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.3.2.zip?download">GLM 0.3.2.0</a> (955 KB)
+    </div><div class="issue-content">03/28/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.3.1.zip?download">GLM 0.3.1.0</a> (963 KB)
+    </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">30/01/2011: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.7/glm-0.9.0.7.7z/download">GLM 0.9.0.7</a> (1.6 MB)
+    </div><div class="issue-content">21/12/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.6/glm-0.9.0.6.7z/download">GLM 0.9.0.6</a> (1.6 MB)
+    </div><div class="issue-content">01/11/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.5/glm-0.9.0.5.7z/download">GLM 0.9.0.5</a> (1.6 MB)
+    </div><div class="issue-content">04/10/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.4/glm-0.9.0.4.7z/download">GLM 0.9.0.4</a> (1.5 MB)
+    </div><div class="issue-content">26/08/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.3/glm-0.9.0.3.7z/download">GLM 0.9.0.3</a> (684 KB)
+    </div><div class="issue-content">08/07/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.2/glm-0.9.0.2.7z/download">GLM 0.9.0.2</a> (651 KB)
+    </div><div class="issue-content">21/06/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.1/glm-0.9.0.1.7z/download">GLM 0.9.0.1</a> (569 KB)
+    </div><div class="issue-content">25/05/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.0.0/glm-0.9.0.0.7z/download">GLM 0.9.0.0</a> (514 KB)
+    </div><div class="issue-content">30/04/2010: <a href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.B.2/glm-0.9.B.2.7z/download">GLM 0.9.B.2</a> (555 KB)
+    </div><div class="issue-content">03/04/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.9.B.1/glm-0.9.B.1.7z/download">GLM 0.9.B.1</a> (414 KB)
+    </div><div class="issue-content">20/02/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.9.A.2/glm-0.9.A.2.7z/download">GLM 0.9.A.2</a> (726 KB)
+    </div><div class="issue-content">09/02/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.9.A.1/glm-0.9.A.1.7z/download">GLM 0.9.A.1</a> (391 KB)
+    </div><div class="issue-content">25/01/2010: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.4/glm-0.8.4.4.7z/download">GLM 0.8.4.4</a> (479 KB)
+    </div><div class="issue-content">14/11/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.7z/download">GLM 0.8.4.3</a> (443 KB)
+    </div><div class="issue-content">19/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.2/glm-0.8.4.2.7z/download">GLM 0.8.4.2</a> (443 KB)
+    </div><div class="issue-content">03/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.1/glm-0.8.4.1.7z/download">GLM 0.8.4.1</a> (443 KB)
+    </div><div class="issue-content">16/09/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.0/glm-0.8.4.0.7z/download">GLM 0.8.4.0</a> (439 KB)
+    </div><div class="issue-content">11/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.5/glm-0.8.3.5.7z/download">GLM 0.8.3.5</a> (405 KB)
+    </div><div class="issue-content">10/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.4/glm-0.8.3.4.7z/download">GLM 0.8.3.4</a> (405 KB)
+    </div><div class="issue-content">25/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.3/glm-0.8.3.3.7z/download">GLM 0.8.3.3</a> (405 KB)
+    </div><div class="issue-content">04/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.2/glm-0.8.3.2.7z/download">GLM 0.8.3.2</a> (405 KB)
+    </div><div class="issue-content">21/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.1/glm-0.8.3.1.7z/download">GLM 0.8.3.1</a> (399 KB)
+    </div><div class="issue-content">06/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.0/glm-0.8.3.0.7z/download">GLM 0.8.3.0</a> (359 KB)
+    </div><div class="issue-content">01/04/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.3/glm-0.8.2.3.7z/download">GLM 0.8.2.3</a> (378 KB)
+    </div><div class="issue-content">24/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.2/glm-0.8.2.2.7z/download">GLM 0.8.2.2</a> (378 KB)
+    </div><div class="issue-content">13/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.1/glm-0.8.2.1.7z/download">GLM 0.8.2.1</a> (381 KB)
+    </div><div class="issue-content">21/01/2009: <a href="http://prdownloads.sourceforge.net/glf/glm-0.8.2.7z?download">GLM 0.8.2.0</a> (381 KB)
+    </div><div class="issue-content">30/10/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.8.1.7z?download">GLM 0.8.1.0</a> (372 KB)
+    </div><div class="issue-content">23/10/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.8.0.7z?download">GLM 0.8.0.0</a> (370 KB)
+    </div><div class="issue-content">08/08/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.6.7z?download">GLM 0.7.6.0</a> (387 KB)
+    </div><div class="issue-content">05/07/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.5.7z?download">GLM 0.7.5.0</a> (366 KB)
+    </div><div class="issue-content">06/01/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.4.7z?download">GLM 0.7.4.0</a> (372 KB)
+    </div><div class="issue-content">05/24/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.3.7z?download">GLM 0.7.3.0</a> (657 KB)
+    </div><div class="issue-content">04/27/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.2.7z?download">GLM 0.7.2.0</a> (646 KB)
+    </div><div class="issue-content">03/24/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.1.7z?download">GLM 0.7.1.0</a> (635 KB)
+    </div><div class="issue-content">03/22/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.0.7z?download">GLM 0.7.0.0</a> (635 KB)
+    </div><div class="issue-content">12/10/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.4.7z?download">GLM 0.6.4.0</a> (612 KB)
+    </div><div class="issue-content">11/05/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.3.7z?download">GLM 0.6.3.0</a> (633 KB)