Skip to content

boostorg/qvm

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8a8ccc9 · Sep 22, 2024
Jan 20, 2023
Jul 29, 2024
Oct 9, 2023
Jul 26, 2024
Mar 15, 2022
Sep 20, 2024
Aug 23, 2021
Jul 26, 2024
Jan 23, 2023
Dec 17, 2018
Dec 20, 2020
May 27, 2021
Dec 16, 2020
Jan 23, 2023
Jul 24, 2024
Mar 21, 2019
Mar 15, 2022
Dec 16, 2020

Repository files navigation

QVM

A generic C++ library for working with Quaternions, Vectors and Matrices.

Documentation

https://boostorg.github.io/qvm/

Features

  • Emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications.
  • Free function templates operate on any compatible user-defined Quaternion, Vector or Matrix type.
  • Enables Quaternion, Vector and Matrix types from different libraries to be safely mixed in the same expression.
  • Type-safe mapping between compatible lvalue types with no temporary objects; f.ex. transpose remaps the access to the elements, rather than transforming the matrix.
  • Requires only {CPP}03.
  • Zero dependencies.

Support

Distribution

Besides GitHub, there are two other distribution channels:

  • QVM is included in official Boost releases.
  • For maximum portability, the library is also available in single-header format, in two variants (direct download links):
    • qvm.hpp: single header containing the complete QVM source, including the complete set of swizzling overloads.
    • qvm_lite.hpp: single header containing everything except for the swizzling overloads.

Copyright 2008-2023 Emil Dotchevski and Reverge Studios, Inc. Distributed under the Boost Software License, Version 1.0.