glm 1.0.1-prerelease
See the version list below for details.
dotnet add package glm --version 1.0.1-prerelease
NuGet\Install-Package glm -Version 1.0.1-prerelease
<PackageReference Include="glm" Version="1.0.1-prerelease" />
paket add glm --version 1.0.1-prerelease
#r "nuget: glm, 1.0.1-prerelease"
// Install glm as a Cake Addin #addin nuget:?package=glm&version=1.0.1-prerelease&prerelease // Install glm as a Cake Tool #tool nuget:?package=glm&version=1.0.1-prerelease&prerelease
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...
Project Website: https://glm.g-truc.net
Usage
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
#include <glm/vec3.hpp> // glm::vec3
#include <glm/vec4.hpp> // glm::vec4
#include <glm/mat4x4.hpp> // glm::mat4
#include <glm/ext/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale
#include <glm/ext/matrix_clip_space.hpp> // glm::perspective
#include <glm/ext/scalar_constants.hpp> // glm::pi
glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
{
glm::mat4 Projection = glm::perspective(glm::pi<float>() * 0.25f, 4.0f / 3.0f, 0.1f, 100.f);
glm::mat4 View = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -Translate));
View = glm::rotate(View, Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f));
View = glm::rotate(View, Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f));
glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f));
return Projection * View * Model;
}
For more information about GLM, please have a look at the manual and the API reference documentation.
License
The source code and the documentation are licensed under either the Happy Bunny License (Modified MIT) or the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
native | native is compatible. |
This package has no dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on glm:
Package | Downloads |
---|---|
gl_model_loader
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 |
|
opengl_shader
please report any issues to the github repo, put shaders in "shaders/{shader name}/{type of shader}.shader |
|
minx
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.1 | 6,152 | 2/29/2024 |
1.0.1-prerelease | 211 | 2/27/2024 |
1.0.0 | 741 | 1/25/2024 |
0.9.9.800 | 33,513 | 4/17/2020 |
0.9.9.700 | 4,125 | 1/5/2020 |
0.9.9.600 | 3,906 | 9/14/2019 |
0.9.9.500 | 35,549 | 4/5/2019 |
0.9.9.400 | 2,458 | 3/19/2019 |
0.9.9.300 | 3,812 | 11/18/2018 |
0.9.9.200 | 2,610 | 10/20/2018 |
0.9.9.100 | 920 | 10/20/2018 |
0.9.9 | 3,173 | 7/11/2018 |
0.9.8.5 | 6,582 | 3/13/2018 |
0.9.8.4 | 5,167 | 6/20/2017 |