Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

README

        



Rena.Mathematics


Dynamic XML Badge
CodeFactor
Nuget
GitHub

## 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