<divclass="textblock"><p><ahref="http://glm.g-truc.net">OpenGL Mathematics (GLM)</a> is a header only C++ mathematics library for graphics software based on the <ahref="https://www.opengl.org/documentation/glsl/">OpenGL Shading Language (GLSL)</a> specification.</p>
<p>GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well which makes it really easy to use.</p>
<p>This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, noise, etc...</p>
<p>This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDK. It is a good candidate for software rendering (raytracing / rasterisation), image processing, physic simulations and any development context that requires a simple and convenient mathematics library.</p>
<p>GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and it officially supports the following compilers:</p><ul>
<li><ahref="https://developer.apple.com/Library/mac/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/index.html">Apple Clang</a> 4.0 and higher</li>
<li><ahref="https://gcc.gnu.org/">GCC</a> 4.2 and higher</li>
<li><ahref="http://llvm.org/">LLVM</a> 3.0 and higher</li>
<li><ahref="https://software.intel.com/en-us/intel-compilers">Intel C++ Composer</a> XE 2013 and higher</li>
<li><ahref="http://www.visualstudio.com/">Visual Studio</a> 2010 and higher</li>
<dlclass="section note"><dt>Note</dt><dd>The Doxygen-generated documentation will often state that a type or function is defined in a namespace that is a child of the <aclass="el"href="">glm </a> namespace. Please ignore this; All publicly available types and functions can be accessed as a direct children of the glm namespace.</dd></dl>
<p>The source code is licenced under the <ahref="http://glm.g-truc.net/copying.txt">Happy Bunny License (Modified MIT)</a> and <ahref="http://glm.g-truc.net/copying.txt">MIT license</a>.</p>
<p>These pages are the API reference only. For more information about how to use GLM, please have a look at <ahref="http://glm.g-truc.net/glm.pdf">the manual</a>.</p>
<p>Thanks for contributing to the project by <ahref="https://github.com/g-truc/glm/issues">submitting tickets for bug reports and feature requests</a>. Any feedback is welcome at <ahref="#"onclick="location.href='mai'+'lto:'+'glm'+'@g'+'-tr'+'uc'+'.ne'+'t'; return false;">glm@g<spanstyle="display: none;">.nosp@m.</span>-tru<spanstyle="display: none;">.nosp@m.</span>c.net</a>. </p>