Rust bindings for Apple's Metal API, built on the modern objc2 ecosystem.
- Comprehensive Metal API coverage
- MTL4 (Metal 4) API bindings
- Built on
objc2for safe and modern Objective-C interop - Supports macOS and iOS
Add to your Cargo.toml:
[dependencies]
mtl-rs = "0.1.7"use metal::MTLDevice;
fn main() {
let device = <dyn MTLDevice>::system_default()
.expect("No Metal device found");
println!("Device: {:?}", device.name());
println!("Unified memory: {}", device.has_unified_memory());
println!("Max threadgroup size: {:?}", device.max_threads_per_threadgroup());
}Run with cargo run --example <name>:
drawing_a_triangle_with_metal_4— Render a rotating triangle using Metal
- macOS with a Metal-capable GPU
- Xcode command line tools installed
- Rust toolchain with Apple targets
MIT