bevy/crates/bevy_mikktspace
TheBigCheese e67cfdf82b
Enable clippy::undocumented_unsafe_blocks warning across the workspace (#10646)
# Objective

Enables warning on `clippy::undocumented_unsafe_blocks` across the
workspace rather than only in `bevy_ecs`, `bevy_transform` and
`bevy_utils`. This adds a little awkwardness in a few areas of code that
have trivial safety or explain safety for multiple unsafe blocks with
one comment however automatically prevents these comments from being
missed.

## Solution

This adds `undocumented_unsafe_blocks = "warn"` to the workspace
`Cargo.toml` and fixes / adds a few missed safety comments. I also added
`#[allow(clippy::undocumented_unsafe_blocks)]` where the safety is
explained somewhere above.

There are a couple of safety comments I added I'm not 100% sure about in
`bevy_animation` and `bevy_render/src/view` and I'm not sure about the
use of `#[allow(clippy::undocumented_unsafe_blocks)]` compared to adding
comments like `// SAFETY: See above`.
2023-11-21 02:06:24 +00:00
..
examples Generate vertex tangents using mikktspace (#3872) 2022-05-31 22:53:54 +00:00
src Enable clippy::undocumented_unsafe_blocks warning across the workspace (#10646) 2023-11-21 02:06:24 +00:00
tests Generate vertex tangents using mikktspace (#3872) 2022-05-31 22:53:54 +00:00
Cargo.toml Standardize toml format with taplo (#10594) 2023-11-21 01:04:14 +00:00
LICENSE-APACHE Generate vertex tangents using mikktspace (#3872) 2022-05-31 22:53:54 +00:00
LICENSE-MIT Generate vertex tangents using mikktspace (#3872) 2022-05-31 22:53:54 +00:00
README.md add and fix shields in Readmes (#9993) 2023-10-15 00:52:31 +00:00

Bevy Mikktspace

License Crates.io Downloads Docs Discord

This is a fork of https://github.com/gltf-rs/mikktspace, which in turn is a port of the Mikkelsen Tangent Space Algorithm reference implementation to Rust. It has been forked for use in the bevy game engine to be able to update maths crate dependencies in lock-step with bevy releases. It is vendored in the bevy repository itself as crates/bevy_mikktspace.

Port of the Mikkelsen Tangent Space Algorithm reference implementation.

Requires at least Rust 1.52.1.

Examples

generate

Demonstrates generating tangents for a cube with 4 triangular faces per side.

cargo run --example generate

License agreement

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.