/mim

A Math and data structure library for all things linear algebra and vector math!

Primary LanguageC++MIT LicenseMIT

Mim

A modern math framework for real time graphics.

build Status

Features

  • (WIP) Robust implementation of common 3D math objects. Including vectors, matrices, quaternions, and more.
  • (WIP) Supports efficient SIMD operations on all math objects along with efficient structure packing for non-SIMD operations.
  • Various utility functions for common math operations.
  • (WIP) Implementation of common graphics algorithms such as ray tracing, and intersection tests.
  • Lightweight and portable. No external dependencies.
  • (WIP) Using modern C++17 and C++20 features with a focus of supporting down to C++17.

Currently Mim is still in development and is not ready for production use. Expect many bugs and missing features. Along with constant API change till we reach a stable release!

Supported Compilers

  • GCC
  • Clang
  • Apple Clang
  • MSVC
  • Intel C++ (planned)
  • CUDA (planned)

Technology Used

  • C++17
  • Cmake 3.18 (may change)
  • Doxygen (planned)
  • Cppcheck
  • Google Test (for unit testing)

Contributing

Contributions are welcome! Please read the contributing guide for more information.