Cross-platform graphics in ~60 seconds
Cross-platform graphics, a unified shader language & compute shaders.git clone --recursive https://github.com/hexops/mach-examples cd mach-examples/ zig build run-boids
Requires zig 0.11.x | known issues
All you need is zig, git, and curl.No more installing tools & dependencies to get started
Mach builds everything using the Zig C/C++ compiler: GLFW, Google Chrome's WebGPU implementation, even the DirectX Shader Compiler.
Prebuilt binaries are used for WebGPU so you don't even have to wait for compilation - just add `-Ddawn-from-source=true` for a 100% from-source build.
Built with love, hard work, and ZigEffortless cross-compilation at your fingertips
Mach is written in Zig, a successor to C with blazing fast performance, compile-time code execution, safety, and in the future hot code swapping.
$ zig build -Dtarget=x86_64-windows $ zig build -Dtarget=x86_64-linux $ zig build -Dtarget=x86_64-macos.12 $ zig build -Dtarget=aarch64-macos.12
⚠ Mach is early stages
What we do have is nice
and things are improving rapidly,
but we're not at Mach 1.0 yet,
we're missing lots - stay tuned.
- Windows, Linux, and macOS support
- Graphics API (examples)
- Metal, Vulkan, DirectX 12 & OpenGL fallback (WebGPU)
- Unified shader language (WGSL)
- Compute shaders
- (lacking) Documentation
- Input (GLFW)
- (experimental) Entity Component System
What's next? (Lightning talk)Broadcast at the first ever European Zig meetup in Milan, Italy.
Building tools & libraries to benefit allPrefer Unity/Unreal? Not using Zig? We plan for our work to be useful for you too.
Our glfw bindings found lurking undefined behavior that went unnoticed for years. Use mach/gpu-dawn from your language of choice to build Google Chrome's WebGPU implementation via Zig (no cmake/ninja/gn/etc) into a single static library, with cross-compilation & prebuilt binaries.
These are all small potatoes. In the future, tooling is where we'll really contribute.
Open source, always & foreverApache or MIT licensed, at your choosing.
FOSS is our roots, we've been playing and developing FOSS games & engines for 13+ years.
Mach is created primarily by BDFL @slimsag, but we're very open to contributors! And since our projects are useful outside of Mach itself, there are already a few:
Sponsor us on GitHub to help Mach engine, zigmonthly.org, and our other work. All of these fine people contribute financially:
Major developments can be followed on our devlog and the @machengine Twitter.
Checkout our GitHub and join us on Matrix chat!