#graphics #quaternions #vector-math #vulkan-graphics #vulkan #maths

gfx-maths

Implementations for the most essential Graphics Math operations

10 releases

0.2.9 Mar 12, 2023
0.2.8 Feb 9, 2022
0.2.6 Jan 31, 2022
0.2.4 Aug 19, 2021
0.1.0 Aug 17, 2021

#225 in Math

Download history 96/week @ 2024-07-04 98/week @ 2024-07-11 126/week @ 2024-07-18 286/week @ 2024-07-25 580/week @ 2024-08-01 439/week @ 2024-08-08 867/week @ 2024-08-15 650/week @ 2024-08-22 443/week @ 2024-08-29 728/week @ 2024-09-05 1185/week @ 2024-09-12 803/week @ 2024-09-19 1174/week @ 2024-09-26 658/week @ 2024-10-03 123/week @ 2024-10-10 128/week @ 2024-10-17

2,362 downloads per month
Used in 6 crates

MIT license

54KB
1.5K SLoC

MIT LICENSE CRATES.IO DOCS CI

GFX Maths

This crate implements all the basic mathematical structures and operations that are needed for almost any graphical program, namely:

The usual operations are implemented via member functions and operator overloads. Operators should handle almost exactly as they would in GLSL, e.g.

use gfx_maths_rs::*;

let v = Vec3::new(5.0, 6.0, 7.0);
let s = 1.0 / v;

let t = Mat4::translate(Vec3::new(1.0, 0.0, 0.0)) * s;

Notation

Vectors are always treated as column vectors, which is why only Mat4 * Vec4 is implemented and not Vec4 * Mat4.

Dependencies

~190KB