Book description
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
Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
Table of contents
- Cover Page
- Title Page
- Copyright Page
- Table of Contents
- Preface
- Acknowledgments
- About the Author
- Part I: Metal Basics
-
Part II: Rendering and Graphics
- Chapter 4. Essential Mathematics for Graphics
- Chapter 5. Introduction to Shaders
-
Chapter 6. Metal Resources and Memory Management
- Introduction to Resources in Metal
- The Argument Table: Mapping between Shader Parameters and Resources
- Buffers
- Resource Options: Storage Mode, Cache Mode, Purgeability
- Preparing Data for the Vertex Shader and Vertex Descriptors
- Copying to and from Buffers
- Introduction to Textures
- Copying to and from Textures
- Compressed Texture Support
- The Blit Command Encoder
- Generating Mipmaps
- Summary
- Chapter 7. Libraries, Functions, and Pipeline States
-
Chapter 8. 2D Drawing
- Metal Graphics Rendering Pipeline
- Sample Project: Build a Star
- Metal Primitive Types
- Responding to MTKViewDelegate Methods
- Retrieving a Drawable
- Creating a Command Buffer
- Creating a Command Encoder
- Fixed-Function State on the Command Encoder
- Passing Data to Shaders
- Issuing Draw Calls
- Scheduling and Enqueuing Command Buffers
- Summary
- 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. Multipass Rendering Techniques
- Chapter 14. Geometry Unleashed: Tessellation in Metal
- Part III: Data Parallel Programming
- Index
- Code Snippets
Product information
- Title: Metal Programming Guide: Tutorial and Reference via Swift
- Author(s):
- Release date: December 2017
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780134668963
You might also like
video
SwiftUI - The Complete iOS 17 Reference Library of Code
This course transforms app development learning with a definitive compilation of SwiftUI techniques, frameworks, and best …
book
iOS 15 Programming Fundamentals with Swift
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 13 …
book
The Rust Programming Language, 2nd Edition
The Rust Programming Language, 2nd Edition is the official guide to Rust 2021: an open source …
book
Programming Rust, 2nd Edition
Systems programming provides the foundation for the world's computation. Writing performance-sensitive code requires a programming language …