Lightweight and modular C++11/C++14 graphics middleware for games and data visualization.
This is a documentation for the Magnum Project. To see high-level feature overview, project goals or read the developer blog, head over to the project homepage.
The best way to get started is to read the thorough guide to download, build, install and start using Magnum in your project. There is also a complete Downloading and building documentation — we provide packages for many platforms, including Windows, Linux and macOS. After that, there are various tutorials and examples and a complete feature guide explaining all aspects of the library.
Apart from that, various Magnum functionality is available through single-header libraries. Just download a file,
#include it in your project and you're ready to go! No buildsystem wrangling needed.
If you want to contribute to Magnum, if you spotted a bug, need a feature or have an awesome idea, you can get a copy of the sources from GitHub and start right away! There is the already mentioned guide about how to download and build Magnum and also a guide about coding style and best practices which you should follow to keep the library as consistent and maintainable as possible.
- Project homepage — https:/
- Documentation — https:/
- GitHub — https:/
/ github.com/ mosra/ magnum and the #magnum topic
- GitLab — https:/
/ gitlab.com/ mosra/ magnum
- Gitter community chat — https:/
/ gitter.im/ mosra/ magnum
- E-mail — firstname.lastname@example.org
- Google Groups mailing list — email@example.com (archive)
- Twitter — https:/
/ twitter.com/ czmosra and the #MagnumEngine hashtag
See also the Contact & Support page on the project website for further information.
Magnum is licensed under the MIT/Expat license:
Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Vladimír Vondruš <firstname.lastname@example.org> and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
All example code is released into public domain, see Examples for more information. Some Magnum libraries depend on third-party components, see Third-party components for their respective licenses. There's also a list of contributors.