1
0
Fork
You've already forked mgpu
0
mgpu | Graphics Programming API
  • Zig 57.2%
  • Nim 37.3%
  • C 5.4%
Find a file
2026年06月25日 08:08:11 +02:00
bin
butcher
doc
src fix: Allow .persistent argument for Buffer.create 2026年06月25日 08:08:11 +02:00
.gitattributes
.gitignore
license.md
readme.md

mgpu

m*gpu | Graphics Programming API

m*gpu is:

  • A modern graphics library/API made with Vulkan
  • Inspired by the concepts and design of webgpu/wgpu/dawn
  • Highly configurable
  • Intuitive and easy to use

Goals:

  • Be and stay as intuitive as possible within the paradigms of current/next-gen graphics programming
  • Provide sane defaults that can be omitted (aka. avoid redundant boilerplate)
  • Bring Vulkan to the indie scene by lowering the amount of time spent writing abstractions and boilerplate
    (similar to what webgpu-native does with its backends abstraction)

Non-goals:

  • Multi-API
    Targets Vulkan exclusively.
  • Agnostic
    Makes assumptions on how rendering will be done.
  • Vulkan terminology
    Intuitive use is a #1 priority, even at the expense of modifying existing Vulkan words/concepts.
    eg: Physical+Logical Device vs Device .. Layout vs Shape .. RenderPass vs RenderTarget .. etc

License & Usage

This project is covered under the Mozilla Public License 2.0.

The MPL v2.0 is a per-file weak copyleft license.

Just like with MIT, you can use this project in a closed source application,
without the license spreading to your own files, or having to build the code into a dynamic library.
(ie: like GPL/LGPL would require)
If you don't modify anything, you can use (and relicense) the code into your app as if it was MIT/BSD.

The MPL is a not-so-well-known license.
Please read their FAQ if you were not aware of its existence.

Why MPL-2.0

tl;dr: Same reason explained in this GNU article
Using the ordinary GPL is not advantageous for mgpu.

There are plenty of other MIT graphics APIs.
Roughly the same features are already available for proprietary software through the use of wgpu, dawn, webgpu-native, metal, etc.

This means that mgpu cannot give free software any particular advantage.
Using the GPL for mgpu would drive proprietary software developers to just use another API.
No problem for them, only for us.