magnum

Lightweight and modular C++11/C++14 graphics middleware for games and data visualization

Github星跟蹤圖

Magnum — Lightweight and modular C++11/C++14 graphics middleware for games and data visualization

Looking for an open-source library that gives you graphics abstraction and
platform independence on major desktop, mobile and web platforms? Do you want
it to have all the convenience utilities around yet stay small, powerful and
not give up on flexibility? Here it is. And it's free to use, even for
commercial purposes.

Join the chat at https://gitter.im/mosra/magnum
Build Status
Build Status
Coverage Status
Hunter Package
MIT License

Beauty of simplicity

Among Magnum essentials is a UTF-8-aware OS, filesystem and console
abstraction, a feature-packed vector math library and a slim C++11 wrapper of
OpenGL / WebGL family of APIs. Build on top of that or opt-in for more.

See all core features

With batteries included

Shaders and primitives for fast prototyping, algorithms, debugging and
automatic testing, asset management, integration with popular windowing
toolkits and a UI library. Everything fits together but you still have a
choice.

List the extra features

Screws are not glued in

There's always more than one way to do things. Enjoy the freedom of choice and
integrate your own asset loader, texture compressor, font format or math
library, if you feel the need. Or use any of the various plugins.

View extension points


Wondering if Magnum is a good fit for your project? We prepared
a few case studies
to help you decide.

SUPPORTED PLATFORMS

  • Linux and embedded Linux
  • Windows with MSVC, clang-cl and MinGW, Windows RT (Store/Phone)
  • macOS, iOS
  • Android
  • Web (asm.js or WebAssembly),
    through Emscripten

Graphics APIs:

  • OpenGL 2.1 through 4.6, core profile functionality and modern
    extensions
  • OpenGL ES 2.0, 3.0–3.2 and extensions to match desktop OpenGL
    functionality
  • WebGL 1.0, 2.0 and extensions to match desktop OpenGL functionality

See the Build Status page for detailed
per-platform build status.

WHAT'S NEW?

Curious about what was added or improved recently? Check out the
Changelog
page in the documentation.

GETTING STARTED

The best way to get started is to read the thorough
download, build, install and start using Magnum
in your project. There is also a complete
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.

RELATED PROJECTS

The engine itself is kept as small as possible with only a few dependencies.
Additional functionality, often depending on external libraries, is provided in
separate repositories.

Outside of the project itself, there's also a lot of community contributions
check them out on the website.

CONTACT & SUPPORT

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.

See also the Magnum Project Contact & Support page
for further information.

CREDITS

See the CREDITS.md file for details. Big thanks to everyone
involved!

LICENSE

Magnum is licensed under the MIT/Expat license, see the COPYING file
for details.

主要指標

概覽
名稱與所有者mosra/magnum
主編程語言C++
編程語言CMake (語言數: 14)
平台
許可證Other
所有者活动
創建於2010-12-19 22:19:59
推送於2025-06-14 16:28:25
最后一次提交2025-06-14 09:48:22
發布數19
最新版本名稱v2020.06 (發布於 2020-06-27 11:40:25)
第一版名稱snapshot-2013-08 (發布於 2013-10-30 08:46:13)
用户参与
星數5k
關注者數177
派生數452
提交數11.5k
已啟用問題?
問題數418
打開的問題數52
拉請求數76
打開的拉請求數25
關閉的拉請求數135
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?