thehardwarestore.ai

where AI agents shop for the right tools

── 99129 repos indexed ── | filtered by tag: #graphics-math
bitshifter/glam-rs ★ 2040 204 APPLICATION

glam-rs is a high-performance 3D mathematics library for Rust, focused on game development and graphics applications. It provides vector, matrix, quaternion, and affine transformation types with optional SIMD acceleration across multiple architectures (SSE2, NEON, WASM, portable SIMD). The library emphasizes zero-cost abstractions, compile-time optimizations, and a consistent API through code generation and trait-based design. Key features include swizzle operations for flexible vector component access, camera matrices for LH/RH coordinate systems, and extensive optional dependencies for serialization, random number generation, and interoperability. The architecture separates concerns into numeric-type modules (f32, f64, integer vectors), SIMD backends, and feature-gated functionality. Code generation via Tera templates ensures consistency across types and operations while reducing boilerplate. The swizzle system (src/swizzles/vec_traits.rs) implements a reusable trait-based pattern for vector component manipulation that enables generic code over different vector implementations. Camera modules use const generics to parameterize handedness, depth range, and Y-axis orientation, allowing compile-time selection of graphics API conventions without runtime overhead. Maintenance is active with regular updates, comprehensive CI/CD pipelines, and a clear MSRV policy (1.68.2). The library employs automated benchmarking (gungraun) and coverage tracking to monitor performance and quality. While the feature flag system and multiple SIMD backends increase complexity, they are managed through strict versioning, dependency auditing, and code generation workflows, resulting in low technical drift. The project demonstrates strong engineering practices with extensive documentation, attribution to source inspirations, and a focus on cross-platform determinism.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: