Establish a small native Metal project with explicit Cocoa ownership and a narrow platform boundary.
This chapter’s project
A Mac passport, a narrow platform-boundary sketch, and an ownership table for every factory used.
A softer light for long learning sessions.
Loading your preference…
Light uses Latte. Your choices stay in this browser.
Volume 06 · 12 flexible weeks
Learn the shape of Apple’s GPU.
Build the Metal path in C++ with metal-cpp and a narrow platform boundary. Study MSL, storage modes, passes, completion, compute, and Xcode GPU tools.
Open my weekly workbench ↗Translate rendering concepts into a native Metal implementation and explain the differences with Vulkan.
Your sketchbook / 6 chapters
Two weeks per chapter: understand and build, then investigate and finish. Repeat any week.
Establish a small native Metal project with explicit Cocoa ownership and a narrow platform boundary.
A Mac passport, a narrow platform-boundary sketch, and an ownership table for every factory used.
Choose storage modes deliberately and schedule CPU/GPU access to a bounded data range.
A CPU/GPU comparison, buffer budget, and two-frame ownership diagram.
Build a small Metal shading interface whose C++ records, binding indices, and pipeline formats agree.
A three-fruit image, host/shader layout table, and preserved shader diagnostic.
Compose a small depth-tested orchard while choosing load/store actions from actual data use.
A pass table, draw-order test, and original orchard image.
Build bounded asynchronous frame submission with safe callback ownership and a deliberate shutdown policy.
A slot state diagram, completion trace, and shutdown walkthrough.
Finish an original Metal scene with a bounded compute effect, measured evidence, and a clear interview explanation.
A runnable macOS project, original orchard study, annotated capture, and concise portfolio case study.
Keep your hands on the work
The companion explains its build steps, tested behavior, and remaining learner work. Keep your own contribution clear as the project grows.