A safe Rust implementation of the Mikkelsen Tangent Space Algorithm.
https://github.com/bevyengine/bevy_mikktspace.git
This is a rewrite of the Mikkelsen Tangent Space Algorithm reference implementation in Rust. It is loosely based on mikktspace, an existing port, except bevy_mikktspace has:
Demonstrates generating tangents for a cube with 4 triangular faces per side.
cargo run --example cube_tangents
The original reference implementation has a couple bugs,
which are largely inconsequential in most practical applications.
However, fixing them would mean diverging from exact output equivalence,
so bevy_mikktspace offers features to control this behavior:
corrected-edge-sorting:corrected-vertex-welding:Licensed under either of
at your option. AND parts of the code are licensed under:
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.
[^1]: Extensive fuzz-testing against the reference implementation revealed divergence in NaN handling in https://github.com/gltf-rs/mikktspace, which is probably inconsequential for practical uses.