GLM Alternatives
Similar projects and alternatives to GLM

linmath.h
a lean linear math library, aimed at graphics programming. Supports vec3, vec4, mat4x4 and quaternions

SonarLint
Deliver Cleaner and Safer Code  Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.





Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

ExprTK
C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html



imgui
Dear ImGui: Bloatfree Graphical User interface for C++ with minimal dependencies

CppCoreGuidelines
The C++ Core Guidelines are a set of triedandtrue guidelines, rules, and best practices about coding in C++




bgfx
Crossplatform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

Bullet
Bullet Physics SDK: realtime collision detection and multiphysics simulation for VR, games, visual effects, robotics, machine learning etc.



Reviews and mentions

maths  templated c++ linear algebra library with vector swizzling, intersection tests and useful functions for games and graphics dev... includes live webgl/wasm demo ?
If you’re the author, consider comparisons with the industry standards, glm and DirectXMath, which both ensure easy interoperability with the two graphics APIs.

Vector, Matrix, Complex Number, Quaternion C++ Classes
Does this do anything that glm doesn't do? Both seem to mimic GLSL. https://github.com/gtruc/glm

Quaternion to Euler Rotation
my friend with access to the internet sent me this open source project as reference https://github.com/gtruc/glm/blob/b3f87720261d623986f164b2a7f6a0a938430271/glm/gtc/quaternion.inl

rotation not working
I've had this exact same problem recently. To fix it, I've been looking into the glm::translate() source code. It is really counterintuitive to me, but the translate(mat, pos) function actually applies the mat rotation to the pos vector before combinining them into the 4x4 output. See the implementation at line 10: glm transform functions.

I want to make a game for Linux. Where do I even start?
GLM and CGLM should probably be mentioned as well since you'll probably want a good linear algebra library if you are going with just a rendering library instead of a full game engine.

Any OpenGL implementations for vectordrawing hardware?
For rendering 3D wireframes in general, involving OpenGL would overcomplicate things. Instead, you might want to look at GLM, the 3rdparty math library that many modern OpenGL apps use (because OpenGL no longer takes responsibility for any CPUside matrix math). With GLM, in a few lines of code, you can throw 3D lines at some camera matrices and get output you can put on screen. More work would still be needed to do things like clipping/culling or opaque triangles, but that's basic 3D coding, and nothing compared to digging into the guts of an OpenGL software renderer.

Is it possible to have multiple references to the same value inside a struct?
No problem; here's the source if you're curious: https://github.com/gtruc/glm/blob/master/glm/detail/type_vec4.hpp

Implementing Quaternions
Not really C++ related but just checking... you know that gluLookAt() is ridiculously deprecated, ancient OpenGL right? Modern OpenGL is to be preferred in every situation save being forced to use legacy GL for a school assignment. Otherwise, you should hop to using GL4.3 at the very least. glm is the modern math C++ OpenGL math library which has all of this stuff (linear algebra, quaternions, etc), view and projection matrices, etc. built in.

Should I write a library in C or C++?
(C++11)  https://github.com/gtruc/glm

SIMD for C++ Developers [pdf]
It seems https://github.com/gtruc/glm also supports SIMD (at least if used / configured correctly).

Green Programming Languages Vs. Brown Programming Languages
You would be surprised but they are incompatible (you can have either incompatible float and glm::vec3 or incompatible glm::vec3 and glsl vec3). Source: https://github.com/gtruc/glm/blob/master/manual.md#section2_9
 How in all hell do i apply a rotation?

Nyx: 3rd party libraries
glm [link]
Stats
gtruc/glm is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.
Popular Comparisons
Are you hiring? Post a new remote job listing for free.