Metal Programming Guide: Tutorial And Reference Via Swift Guide
User Manual:
Open the PDF directly: View PDF
Page Count: 198 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Contents
- Preface
- Who Should Read This Book
- How This Book Is Organized
- Example Code
- Conventions Used in This Book
- I: Metal Basics
- 1. What Is Metal?
- History of Graphics APIs
- Metal: The New Way to Do Graphics on Apple Platforms
- Metal in Context: How Metal Complements and Supports Other Platform Frameworks
- Summary
- 2. Overview of Rendering and Raster Graphics
- Representing the GPU
- 3. Your First Metal Application (Hello, Triangle!)
- Creating a Metal Application in Xcode (without Using a Template)
- Creating a MTLDevice
- Creating a CAMetalLayer
- Creating a Vertex Buffer
- A First Look at Shaders
- Libraries, Functions, and Pipeline States
- Introducing Render Passes
- Introducing MetalKit Features and MTKView
- II: Rendering and Graphics
- 4. Essential Mathematics for Graphics
- Language of Mathematics
- Coordinate Spaces and Moving among Them
- Points, Vectors, and Vector Operations
- Normalization and Unit Vectors
- Pythagorean Theorem
- Sine, Cosine, and Tangent
- Matrices and Matrix Operations
- Transformations: Scale, Translation, Rotation, Projection
- 5. Introduction to Shaders
- Metal Shading Language Overview
- Setting Up Shaders
- Your First Shader: Pass Through
- Writing Your First Shader
- Uniform Buffer
- 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