xtensor
GLM
Our great sponsors
xtensor | GLM | |
---|---|---|
8 | 36 | |
3,182 | 8,572 | |
1.6% | 2.1% | |
7.9 | 9.0 | |
11 days ago | 7 days ago | |
C++ | C++ | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
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.
xtensor
- Does anyone know any good open source project to optimize?
-
Which is the best way to work with matrices and linear algebra using c++?
I use xtensor: https://github.com/xtensor-stack/xtensor
-
Can you give an example of well-designed C++ code, and explain why you think it is so?
Currently, one of my current favorites is xtensor.
-
Eigen: A C++ template library for linear algebra
I wonder how Eigen compares to xtensor, which was inspired by Numpy and has support for views, slicing, and broadcasting?
-
When researching and developing new algorithms to be used in the real-world production environment, what is your workflow and how do you usually do it? Do I have to prototype in Python, and then rewrite all code in C++/Rust?
You can try eigen (http://eigen.tuxfamily.org/), armadillo (http://arma.sourceforge.net/) which is based on LAPACK which is what numpy is based on and xtensor (https://github.com/QuantStack/xtensor) which I think is the closest thing to numpy you’re gonna find in c++
GLM
- C++23: The Next C++ Standard
- Which is the best way to work with matrices and linear algebra using c++?
-
Best C++ Game Framework
I would also recommend GLM
- PocketPy: A Lightweight(~5000 LOC) Python Implementation in C++17
-
Learning DirectX 12 in 2023
Alongside MiniEngine, you’ll want to look into the DirectX Toolkit. This is a set of utilities by Microsoft that simplify graphics and game development. It contains libraries like DirectXMesh for parsing and optimizing meshes for DX12, or DirectXMath which handles 3D math operations like the OpenGL library glm. It also has utilities for gamepad input or sprite fonts. You can see a list of the headers here to get an idea of the features. You’ll definitely want to include this in your project if you don’t want to think about a lot of these solved problems (and don’t have to worry about cross-platform support).
-
Viking Math! A Vulkan-Focused 3D Math Library In Pure Go
You may recall vkngwrapper, which I posted several months ago, a Vulkan wrapper for go. Well, here is the second step in my plan to take over the world: a vulkan-friendly 3d math library for go. It's the only right-handed 3d math library I'm aware of in Go, and it is faster than the alternatives, by a lot in some cases. It's mostly a straight go port of key elements of GLM (https://github.com/g-truc/glm) and there's a lot more I could probably put in, but I'll keep it how it is for a bit while I work on other stuff.
-
What are some cool modern libraries you enjoy using?
even though it's fairly old and buggy, I haven't found anything as easy to use or complete as glm
-
I've decided to learn Godot and it feels like I have "lost"
math library because you should never implement a math library yourself, and you probably want somethign more focused on performance than STL. GLM may work if you just need basic vector support. Eigen may help for a more physics heavy game. But I'd probably find something in-between those two
-
Eigen: A C++ template library for linear algebra
glm is also good for 3d math. It mimics the API of OpenGL shaders, so it's a good option if you already know (or are interested in learning) how to write shaders.
-
Is there a reference of C/C++ implementations of basic vector/matrix routines used by common MATLAB functions?
If you want 3D maths only (so up to 4x4) GLM https://github.com/g-truc/glm is perfect.
What are some alternatives?
Eigen
DirectXMath - DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps
linmath.h - a lean linear math library, aimed at graphics programming. Supports vec3, vec4, mat4x4 and quaternions
cglm - 📽 Highly Optimized 2D / 3D Graphics Math (glm) for C
OpenBLAS - OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
blaze
CGal - The public CGAL repository, see the README below
Fastor - A lightweight high performance tensor algebra framework for modern C++
GMTL - Generic Math Template Library (forked from http://ggt.sourceforge.net/)
Boost.Multiprecision - Boost.Multiprecision
hlslpp - Math library using hlsl syntax with SSE/NEON support
ExprTK - C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html