I'm trying to make my own game engine for learning purposes, but I'm also trying to make something that is optimized and is capable of handling a diverse amount of cross-platform
games.
That said, I'm now at a point where I need to choose a math library to deal with SIMD operations for graphics rendering, and I can't decide on which one should I pick.
After some research, I've found that Math.NET seems pretty good for the job, but the native System.Numerics
seems somewhat easier to use and does not require a third-party dependency.
I've seen some posts that claimed System.Numerics
was slow, but they were all long past the due date (3 to 6 years ago), so I don't think they have reliable results anymore.
So my question is, especially now that .NET Core 3.0
has been released, has System.Numerics
become reliable enough that it can be used for heavy graphical computation, or should I forget about it and go for something like Math.NET
?
Finally, would there be a better alternative that I haven't considered? I'll admit that it would be nice if there was a library which provided some kind of abstraction over platform-specific code (but it wouldn't be a problem to write it myself either)