#vector #quaternions #simd #geometry #gamedev #2d-3d

geo-nd

特别针对2D和3D几何的特性和类型,具有[浮点数]和可选SIMD的实现

5个版本

0.5.2 2024年8月4日
0.5.0 2023年2月18日
0.1.5 2023年1月25日
0.1.3 2021年9月6日
0.1.1 2021年6月22日

#15 in 渲染

Download history 620/week @ 2024-04-28 160/week @ 2024-05-05 204/week @ 2024-05-12 300/week @ 2024-05-19 12/week @ 2024-05-26 49/week @ 2024-06-02 47/week @ 2024-06-09 13/week @ 2024-06-16 373/week @ 2024-06-23 1216/week @ 2024-06-30 316/week @ 2024-07-07 493/week @ 2024-07-14 315/week @ 2024-07-21 58/week @ 2024-07-28 1966/week @ 2024-08-04 410/week @ 2024-08-11

2,871 每月下载量
用于 11 个crate(10个直接使用)

MIT/Apache

135KB
2.5K SLoC

geo-nd

一组用于Rust的向量、矩阵和四元数类型和特性,尤其适用于2D、3D和OpenGL/Vulkan应用程序,其中元素使用浮点数数组和切片。

在3D图形中的使用模型是通过应用程序拥有大量的浮点数数组,包括顶点和矩阵集合,库允许对这些顶点和矩阵进行原地操作。

该库利用正在开发的core_simd crate提供特定架构的实现,而不试图在crate中支持架构特定的SIMD实现。

此crate处于alpha版本;它在少数应用程序中使用,功能成熟,但API可能会在不久的将来(通过2023年第三季度)进行一些更改,以确保高性能OpenGL和Vulkan操作,同时保持其他应用程序操作简单。

使用方法

将以下内容添加到您的 Cargo.toml

[dependencies]
geo-nd = "0.1.2"

功能

注意 直到 core_simd 成为std或crates.io的一部分,以下功能不可用 - geo-nd/Cargo.toml中对core_simd的依赖必须在crates.io上注释掉;因此,在此点之前需要本地修改的crate副本。

此crate可以通过启用默认的 simd 功能与即将推出的 core_simd crate一起使用。在 Cargo.toml 中使用此功能

[dependencies.geo-nd]
version = "0.1"
features = ["simd"]

版本

发布说明可在 RELEASES.md 中找到。

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确说明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,均应按上述方式双许可,不附加任何额外条款或条件。

依赖项

~0.5–1.1MB
~25K SLoC