mirror of https://github.com/boostorg/qvm.git
69fad4886b | ||
---|---|---|
.drone | ||
.github/workflows | ||
.vscode | ||
doc | ||
gen | ||
include/boost | ||
meta | ||
test | ||
.drone.jsonnet | ||
.gitattributes | ||
.gitignore | ||
CMakeLists.txt | ||
LICENSE_1_0.txt | ||
README.md | ||
index.html | ||
meson.build | ||
meson_options.txt |
README.md
QVM
A generic C++ library for working with
Q
uaternions,V
ectors andM
atrices.
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
- cpplang on Slack (use the
#boost
channel) - Boost Users Mailing List
- Boost Developers Mailing List
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.