magnum

mosra活跃维护

轻量模块化的 C++11 图形中间件,帮游戏和数据可视化项目快速接入 OpenGL、Vulkan 等底层图形接口,省去自己搭渲染管线的麻烦。

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

v2020.06发布于 2020-07-02 13:05 UTC5,232star467fork同步于 2026-11-10 23:37 UTC

怎么上手

由 README 提炼,执行前请确认
README 未给出可直接复制的最小构建命令,需参考官方 getting-started 与 building 文档
硬件要求按 README 说明

README 未说明具体显存或 GPU 型号要求,仅列出支持 OpenGL 2.1–4.6、OpenGL ES 2.0/3.0–3.2、WebGL 1.0/2.0 的平台。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

轻量模块化 C++11 图形中间件,为游戏与数据可视化提供跨平台图形抽象

轻量模块化的 C++11 图形中间件,帮游戏和数据可视化项目快速接入 OpenGL、Vulkan 等底层图形接口,省去自己搭渲染管线的麻烦。

核心能力

  • 封装 OpenGL、OpenGL ES、WebGL 系列 API 的 C++11 薄层
  • 提供 UTF-8 感知的操作系统、文件系统与控制台抽象
  • 内置功能丰富的向量数学库
  • 可选 shader、图元、资源管理与 UI 等扩展模块
  • 支持单头文件方式引入部分功能,无需配置构建系统

容易踩的坑

主依赖为 Corrade,需单独获取;图像、字体、音频、3D 模型导入等插件在独立的 magnum-plugins 仓库;README 未给出具体构建命令,需按官方文档操作

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2020.06
  1. v2020.062020.06最新正式版2020-07-02 · 2020-07-02 13:05 UTC

    See the release announcement and a detailed list of changes in Magnum for more information.

  2. v2019.102019.102019-10-30 · 2019-10-30 16:14 UTC
    查看更新说明

    See the release announcement and a detailed list of changes in Magnum for more information.

  3. v2019.012019.012019-02-05 · 2019-02-05 21:48 UTC
    查看更新说明

    See the release announcement and a detailed list of changes in Magnum for more information.

  4. v2018.102018.102018-10-24 · 2018-10-24 17:23 UTC
    查看更新说明

    See the release announcement and a detailed list of changes in Magnum for more information.

  5. v2018.042018.042018-05-11 · 2018-05-11 19:45 UTC
    查看更新说明

    See the release announcement and a detailed list of changes in Magnum for more information.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Magnum — Lightweight and modular C++11 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 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

    Detailed contributor list is maintained in the documentation. Big thanks to everyone involved!

    There's also a list of third party components that affect public use of the project.

    LICENSE

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