cglm
cglm copied to clipboard
📽 Highly Optimized 2D / 3D Graphics Math (glm) for C
Function `glm_mat2_copy` from cglm/mat2.h internally uses `glm_vec4_ucopy`, defined inside cglm/vec4.h, which is not included. THis leads to symbol not being found. Minimal example: ``` #include void foo() { mat2 x,...
E.g. if my xcode project - using modules, which is the default now - I have a C file containing the following: ``` #define CGLM_FORCE_DEPTH_ZERO_TO_ONE 1 #define CGLM_FORCE_LEFT_HANDED 1 #include...
why function `glm_vec3` defined as `void glm_vec3(vec4 v4, vec3 dest)` where implemenation is `dest[0] = v4[0]; dest[1] = v4[1]; dest[2] = v4[2];` takes argument vec4 instead of vec3 or just...
In vec3.h there are pairs of macros like GLM_VEC3_ONE_INIT and GLM_VEC3_ONE. Would it be possible to add similar _INIT ones for GLM_XUP, GLM_YUP and GLM_ZUP ?
# Problem there are no functions for ivec struct api (ivec2, ivec3, ivec4), like `_add` and `_sub` # Solution Bring everything it makes sense from the ivec array api to...
The aabb2d Struct API has [glms_aabb2d_size](https://github.com/recp/cglm/blob/c12f318fabf14853174419f3892654612186c5c7/include/cglm/struct/aabb2d.h#L140C6-L140C19) which should probably be renamed to glms_aabb2d_diag and call [glm_aabb2d_diag](https://github.com/recp/cglm/blob/c12f318fabf14853174419f3892654612186c5c7/include/cglm/aabb2d.h#L169) from the Array API. It is also missing glms_aabb2d_sizev which should call [glm_aabb2d_sizev](https://github.com/recp/cglm/blob/c12f318fabf14853174419f3892654612186c5c7/include/cglm/aabb2d.h#L181).
Hello there! I'm trying to use `cglm`. It was working fine until I set my C++ standard (yes yes I know `cglm` is for C) to C++20, I'm getting errors...
mat4_mul_mvp
Addresses #124 I understand that this would just be another layer of abstraction and not an actual optimized algorithm, but the use case is common enough (given we do have...
While it's possible to use CGLM like this: ```c #define CGLM_FORCE_DEPTH_ZERO_TO_ONE #define CGLM_FORCE_LEFT_HANDED #include "cglm/cglm.h" ``` the following code doesn't work as expected: ```c #define CGLM_FORCE_DEPTH_ZERO_TO_ONE #define CGLM_FORCE_LEFT_HANDED #include "cglm/call.h"...