<divclass="textblock"><p>OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) 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, procedural noise functions, etc...</p>
<p>This library works perfectly with OpenGL but it also ensures interoperability with 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>
<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 officially supports the following compilers:</p>
<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://www.opensource.org/licenses/mit-license.php">MIT licence</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>. (SF.net account required). 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>