On Tuesday, 4 September 2018 at 19:40:10 UTC, JN wrote:
On Tuesday, 4 September 2018 at 19:23:16 UTC, SrMordred wrote:
Most C++ game related projects uses GLM as they default math/vector lib (even if not using opengl).

In D we have (that I found):

gfm.math  - https://github.com/d-gamedev-team/gfm
dlib.math - https://github.com/gecko0307/dlib
Gl3n      - https://github.com/Dav1dde/gl3n

But i'm not sure which to pick.

Can someone point me out some reasons to use one over the other? (or show some differences)

I´m expecting something of equivalent functions and performance as c++ glm.

Thank you!

I use dlib.math for my 3D engine. It's working fairly well, can't complain. No clue about gfm. Gl3n is nice, but it has a design flaw - it's using row-major matrix ordering. It may or may not be a big deal for you, but in general, it means that all matrices being sent to OpenGL need to be transposed, and the matrix multiplication order is reversed.

Another advantage of dlib.math is that it has some extended features, such as support for calculating tangents for a mesh.

I've used gl3n exclusively for years, but just call opengl functions with the "transpose" argument set to true. Or for readability, I define: alias ROW_MAJOR = GL_TRUE;

glUniformMatrix4fv(glGetUniformLocation(this.ID, name), 1, ROW_MAJOR, &matrix[0][0]);

However, in hindsight, I think gfm.math might be the way to go.

Reply via email to