-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
This repository contains (work-in-progress) sparse-implementations of 3D | ||
Projective Geometric Algebra, intended for use in computer graphics. | ||
|
||
There is an implementation based on rigidgeometricalgebra.org (`rga`), and | ||
there is also an implementation largely based on PGA4CS.pdf on bivector.net | ||
(`ega`). | ||
|
||
--- | ||
|
||
There is basically complete test coverage, and most of the important operators | ||
have been implemented. While `rga` is in a more "complete" state compared to | ||
`ega` it would be possible to use either of the libraries, with the following | ||
caveats: | ||
- Some higher-level/compound operators (sandwich products, &c) do not yet have | ||
their own sparse implementations; | ||
- there is currently no feature enabling explicit SIMD optimisations; | ||
- some desirable 3rd party traits do not yet have implementations (bytemuck, | ||
serde, rand, mint); | ||
- aside from the included unit tests, to my knowledge there has been no | ||
extensive use of these libraries in production code or otherwise. | ||
|
||
Other considerations: | ||
- While `mint` serves as a light-weight common interchange interface for | ||
traditional gamedev math types, it occurs to me that (projective) | ||
geometric-algebra libraries might be better served by their own interchange | ||
crate; there-by allowing `ega`, `rga`, and other geometric algebra | ||
implementations to co-exist. | ||
|
||
--- | ||
|
||
As indicated in the `LICENSE` files of the respective projects, each library is | ||
distributed under permissive Apache2, MIT, and Zlib licenses; unless explicitly | ||
stated otherwise, any contributions you intentionally submit for inclusion in | ||
these works shall be licensed accordingly. |