Metal Tutorials

A hands-on series covering Apple’s Metal GPU API in Swift β€” from a single triangle to a fully GPU-driven deferred renderer.

Each tutorial builds on the previous one. All source code is on GitHub.


# Tutorial Topics
0 Preparation Project setup, Xcode, SwiftUI + Metal boilerplate
1 Hello Triangle MTLDevice, pipeline state, vertex & fragment shaders
2 Sample Object MTLBuffer, vertex descriptors, Model I/O, uniforms
3 Deferred Rendering G-buffer, multiple render targets, lighting pass
4 Shadows Shadow maps, depth textures, PCF, bias
5 Tiled Rendering Apple Silicon TBDR, memoryless textures, tile shaders
6 GPU Rendering MTLIndirectCommandBuffer, argument buffers, MTLHeap