HandmadeMath
cglm
Our great sponsors
HandmadeMath | cglm | |
---|---|---|
4 | 12 | |
1,136 | 2,039 | |
2.5% | - | |
5.7 | 9.2 | |
9 days ago | 8 days ago | |
C | C | |
Creative Commons Zero v1.0 Universal | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
HandmadeMath
-
Trouble calculating projection matrix
If you don't like using heavy libraries such as glm, I recommend looking at HandmadeMath. It is a single file c/c++ math library for graphics programming. You can just drop it into your project. It's lightweight and will save you a lot of time implementing the math yourself. In a lot of cases, it actually uses optimized solutions to save computation time (same with the glm).
- Handmade Math A simple math library for games and computer graphics
- Matrix multiplication in C
-
mgmath - Header only vector/matrix math library
HandmadeMath does that for example, so you can take a look at how they've done it: https://github.com/HandmadeMath/Handmade-Math
cglm
-
converting a vec4 into a mat4
It's too bad you are using C. If you were using C++, you could use teh fantastic GLM library, which implements the vector math stuff from GLSL as CPU/C++ code. you might want to have a look at CLGM: https://github.com/recp/cglm
-
Matrix multiplication in C
There's cglm, but I don't know how good it is. Really though for hobby OpenGL stuff, it's going to be 3x3, 4x4, 1x4 matrices, so rolling one's own stuff is not that terrible, if it proves to be a bottleneck (probably won't), you can drop in some fancy SIMD bullshit later.
- Portable SIMD library
- Looking for fast, generalized lin alg library
-
In what way should I write a matrix library for my OpenGL game?
There is a cglm: repo
-
What can I replace the C++ code "Vector3f" with?
Check out https://github.com/recp/cglm I use it judiciously.
-
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.
-
What would be the best way to implement a (algebra) vector in C (for OpenGL purposes)?
cglm has two options for representing a vector: using a struct and using an array. The default one is using an array, but I'm not seeing what are the benefits of using an array instead of a struct. When using an array, you need to use out parameters, which make the code much more ugly when doing multiple operations. Using a struct, I can simply return the struct from the function. The only advantage of using an array would be that it's easier to iterate through it, but I could do the same using structs like this
-
Using CGLM, why does the value of this vec4 affect the mat4?
It has been a while since I've written any C so it's very likely I'm missing something very simple. But I'm using CGLM and I have this simple program:
-
Anyone is using plain C?
https://github.com/recp/cglm is a C version of GLM
What are some alternatives?
nbnet - single header C(99) library to implement client-server network code for games
GLM - OpenGL Mathematics (GLM)
Celerity - Celerity -- a Game / Visualization Engine for Windows, written in C++
linmath.h - a lean linear math library, aimed at graphics programming. Supports vec3, vec4, mat4x4 and quaternions
raylib - A simple and easy-to-use library to enjoy videogames programming
rayfork - C99 Game Library. XNA-like. Platform Independent. Allocator Aware.
plutovg - Tiny 2D vector graphics library in C
zig-gamedev - Main monorepo for @zig-gamedev libs and example applications
sse2neon - A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation
mgmath - Simple vector/matrix library
simd_utils - A header only library implementing common mathematical functions using SIMD intrinsics