OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.

GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that anyone who knows GLSL, can use GLM as well in C++.

This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, data packing, random numbers, noise, etc...

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.

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:
- Apple Clang 4.0 and higher
- GCC 4.2 and higher
- Intel C++ Composer XE 2013 and higher
- LLVM 3.0 and higher
- Visual C++ 2010 and higher
- CUDA 4.0 and higher (experimental)
- Any conform C++98 or C++11 compiler

Note: The last number of the version number differs in that respect, that the official fourth number is multiplied to 100. This way the nuget package can be updated for different packages. For example:
- glm => package (first package)
- glm => package (same content, but package updated, e.g. build scripts)
- glm => package
- glm => package

Install-Package glm -Version
dotnet add package glm --version
<PackageReference Include="glm" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add glm --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

[GLM]( - 2019-04-01
#### Fixes:
- Fixed build errors when defining GLM_ENABLE_EXPERIMENTAL #884 #883
- Fixed 'if constexpr' warning #887
- Fixed missing declarations for frexp and ldexp #886


This package has no dependencies.

Version History

Version Downloads Last updated 1,292 4/5/2019 655 3/19/2019 2,607 11/18/2018 857 10/20/2018 123 10/20/2018
0.9.9 1,777 7/11/2018 3,550 3/13/2018 3,377 6/20/2017