geo-nd

Crates.iogeo-nd
lib.rsgeo-nd
version0.5.2
sourcesrc
created_at2021-06-22 10:51:34.931898
updated_at2024-08-04 07:58:39.526888
descriptionTraits and types particularly for 2D and 3D geometry with implementations for [float] and optionally SIMD
homepagehttps://github.com/atthecodeface/geo-nd-rs
repositoryhttps://github.com/atthecodeface/geo-nd-rs
max_upload_size
id413349
size166,376
Gavin J Stark (atthecodeface)

documentation

https://docs.rs/geo-nd

README

geo-nd

A collection of vector, matrix and quaternion types and traits for Rust, particularly aimed at 2D, 3D and OpenGL/Vulkan applications, where the elements use arrays and slices of floats.

The usage model in 3D graphics is through ownership of large arrays of floats by the application, encompassing sets of vertices and matrices, with the library enabling in-place operations on those vertices and matrices.

The library takes advantage of the developiong core_simd crate to provide architecture-specific implementations, without attempting to support architectural SIMD implementations within this crate.

This crate is in alpha; it is used in a small number of applications, and the functionality is mature, but the API may undergo some changes in the near future (through Q3 2023) to ensure high performance OpenGL and Vulkan operation while maintaining simplicity of operation for other applications.

Usage

Add this to your Cargo.toml:

[dependencies]
geo-nd = "0.1.2"

Features

NOTE Until core_simd is part of std or on crates.io the following does not work - the dependency in the geo-nd/Cargo.toml for core_simd must be commented out on crates.io; so a locally modified clone of this crate is required until that point.

This crate can be used with the upcoming core_simd crate by enabling the default simd feature. Use this in Cargo.toml:

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

Releases

Release notes are available in RELEASES.md.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 22

cargo fmt