Skip to main content

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: - GCC 4.7 and higher - Intel C++ Compose XE 2013 and higher - Clang 3.4 and higher - Apple Clang 6.0 and higher - Visual C++ 2013 and higher - CUDA 9.0 and higher (experimental) - Any C++11 compiler

Total Downloads
225.5K
225,483
Published
Feb 27, 2024
Latest stable version

Install

.NET CLI
dotnet add package glm --version 1.0.1-prerelease
Package Manager Console
Install-Package glm -Version 1.0.1-prerelease
PackageReference
<PackageReference Include="glm" Version="1.0.1-prerelease" />

Frameworks

No framework metadata available.

Dependencies

No declared dependencies.

Adoption guide

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

This version is marked prerelease. Validate its API and upgrade path before production use.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.

No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

How to read this guidance

Sources: published NuGet v3 registry metadata and explicit NuBrowse editorial guides. Refresh: package metadata is refreshed from NuGet when the page loads. Limit: this is not a security, legal or compatibility guarantee; validate the selected version in your project.

Useful next steps

Move from package metadata to a concrete selection or review workflow.