Home > Store

Metal Programming Guide: Tutorial and Reference via Swift, Rough Cuts

Metal Programming Guide: Tutorial and Reference via Swift, Rough Cuts

Rough Cuts

  • Available to Safari Subscribers
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Also available in other formats.


  • Copyright 2018
  • Dimensions: 7" x 9-1/8"
  • Pages: 352
  • Edition: 1st
  • Rough Cuts
  • ISBN-10: 0-13-466900-2
  • ISBN-13: 978-0-13-466900-7

This is the Rough Cut version of the printed book.

Master Metal: The Next-Generation Graphics and GPU Programming Platform for Apple Developers

Metal enables Apple developers to maximize performance in demanding tasks like 3D graphics, games, scientific programming, visualization, and GPU-accelerated machine learning. Metal® Programming Guide is the authoritative, practical guide to Metal for all iOS programmers who are interested in graphics programming but don’t know where to start.

Pioneering Apple developer Janie Clayton covers everything from basic draw calls to advanced parallel computing, combining easy-to-understand conceptual explanations with well-tested Swift 4/Xcode 9 sample code (available for download at GitHub).

Clayton introduces the essential Metal, graphics, and math concepts every graphics programmer needs to know. She also discusses key graphics-specific libraries, concepts, and Metal Classes, presenting techniques and examples you’ll find valuable for both graphics and data processing. Clayton also provides coverage of the Metal Compute Pipeline, demonstrating practical GPU programming applications ranging from image processing to neural networking.

  • Quickly get a basic Metal project running
  • Work with Metal resources and memory management
  • Learn how shaders are compiled and accessed by the CPU
  • Program both 2D and 3D graphics with Metal
  • Import 3D models and assets from Blender, Maya, and other programs
  • Apply imported textures to model objects
  • Use multipass rendering to efficiently implement computationally expensive techniques
  • Leverage tessellation to reduce mesh detail
  • Use the GPU for a wide spectrum of general-purpose computing applications
  • Get started with the Metal Performance Shaders Framework

Sample Content

Table of Contents



About the Author

Part I: Metal Basics

Chapter 1: What Is Metal?

Chapter 2: Overview of Rendering and Raster Graphics

Chapter 3: Your First Metal Application (Hello, Triangle!)

Part II: Rendering and Graphics

Chapter 4: Essential Mathematics for Graphics

Chapter 5: Intro to Shaders

Chapter 6: Metal Resources and Memory Management

Chapter 7: Libraries, Functions, and Pipeline States

Chapter 8: 2D Drawing

Chapter 9: Introduction to 3D Drawing

Chapter 10: Advanced 3D Drawing

Chapter 11: Interfacing with Model I/O

Chapter 12: Texturing and Sampling

Chapter 13: Multi-Pass Rendering Techniques

Chapter 14: Geometry Unleashed: Tessellation in Metal

Part III: Data Parallel Programming

Chapter 15: The Metal Compute Pipeline

Chapter 16: Image Processing in Metal

Chapter 17: Machine Vision

Chapter 18: Metal Performance Shaders Framework

Chapter 19: Neural Network Concepts

Chapter 20: Convolutional Neural Networks



Submit Errata

More Information