Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gasinfinity/rena.mathematics
A math library for graphics programming supporting generic math.
https://github.com/gasinfinity/rena.mathematics
dotnet dotnet-core graphics-programming mathematics
Last synced: about 24 hours ago
JSON representation
A math library for graphics programming supporting generic math.
- Host: GitHub
- URL: https://github.com/gasinfinity/rena.mathematics
- Owner: GasInfinity
- License: mit
- Created: 2023-02-05T12:55:02.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-21T10:08:10.000Z (6 months ago)
- Last Synced: 2024-07-22T11:04:55.091Z (6 months ago)
- Topics: dotnet, dotnet-core, graphics-programming, mathematics
- Language: C#
- Homepage:
- Size: 284 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Rena.Mathematics
## Features
* Generic abstraction for [Radians{T}](https://github.com/GasInfinity/Rena.Mathematics/blob/main/Rena.Mathematics/Radians{T}.cs) and [Degrees{T}](https://github.com/GasInfinity/Rena.Mathematics/blob/main/Rena.Mathematics/Degrees{T}.cs)
* Multiple generic vector types like [Vec2{T}](https://github.com/GasInfinity/Rena.Mathematics/blob/main/Rena.Mathematics/Vectors/Vec2{T}.cs) and [Vec3{T}](https://github.com/GasInfinity/Rena.Mathematics/blob/main/Rena.Mathematics/Vectors/Vec3{T}.cs)
* Multiple generic matrix types like [Mat4x4{T}](https://github.com/GasInfinity/Rena.Mathematics/blob/main/Rena.Mathematics/Matrices/Mat4x4{T}.cs)## Why use this library instead of System.Numerics?
* This library uses generic math so you're not limited to only `System.Single`
* ^ Basically that. After a lot of research, I've seen that if you want SIMD, just use a data oriented design. The CPU will thank you for doing it.## When to stick with System.Numerics
* When you only need Vectors with `System.Single`. Those vectors are handled specially by the runtime so you won't have any problem with them, so, unless we have something specific you need, you don't need Rena.Mathematics.## TODO's
- [ ] Add all the remaining MatMxN types