There is a newer version of this package available.
See the version list below for details.
dotnet add package glm --version
NuGet\Install-Package glm -Version
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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
#r "nuget: glm,"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install glm as a Cake Addin
#addin nuget:?package=glm&version=

// Install glm as a Cake Tool
#tool nuget:?package=glm&version=

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

Product Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on glm:

Package Downloads

please report any issues to the github repo disclaimer: this library uses glew to load opengl functions if you are using a loader like glad make sure to initialize glew or switch to it


please report any issues to the github repo, put shaders in "shaders/{shader name}/{type of shader}.shader


MINX is a C++ Game Development Framework that is designed to bring the simplicity that XNA once add for creating C# games to other languages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 475 1/25/2024 31,448 4/17/2020 3,966 1/5/2020 3,806 9/14/2019 29,500 4/5/2019 2,409 3/19/2019 3,745 11/18/2018 2,350 10/20/2018 867 10/20/2018
0.9.9 3,076 7/11/2018 6,456 3/13/2018 5,050 6/20/2017

[GLM]( - 2018-09-03
#### Features:
- Added bitfieldDeinterleave to GTC_bitfield
- Added missing equal and notEqual with epsilon for quaternion types to GTC_quaternion
- Added EXT_matrix_relational: equal and notEqual with epsilon for matrix types
- Added missing aligned matrix types to GTC_type_aligned
- Added C++17 detection
- Added Visual C++ language standard version detection
- Added PDF manual build from markdown

#### Improvements:
- Added a section to the manual for contributing to GLM
- Refactor manual, lists all configuration defines
- Added missing vec1 based constructors
- Redesigned constexpr support which excludes both SIMD and constexpr #783
- Added detection of Visual C++ 2017 toolsets
- Added identity functions #765
- Splitted headers into EXT extensions to improve compilation time #670
- Added separated performance tests
- Clarified refract valid range of the indices of refraction, between -1 and 1 inclusively #806

#### Fixes:
- Fixed SIMD detection on Clang and GCC
- Fixed build problems due to printf and std::clock_t #778
- Fixed int mod
- Anonymous unions require C++ language extensions
- Fixed ortho #790
- Fixed Visual C++ 2013 warnings in vector relational code #782
- Fixed ICC build errors with constexpr #704
- Fixed defaulted operator= and constructors #791
- Fixed invalid conversion from int scalar with vec4 constructor when using SSE instruction
- Fixed infinite loop in random functions when using negative radius values using an assert #739