Beginning Game Engine Development With Metal
Caroline Begbie & Marius Horga
Metal#
Game_Engine#
GPU#
3D_model#
3D_game#
Shading#
Rendering#
Swift_developer#
Build your own low-level game engine in Metal!
This book introduces you to graphics programming in Metal — Apple’s framework for programming on the GPU. You’ll build your own game engine in Metal where you can create 3D scenes and build your own 3D games.
Who This Book Is For
This book is for intermediate Swift developers interested in learning 3D graphics or gaining a deeper understanding of how game engines work.
Topics Covered in Metal by Tutorials
After reading this book, you’ll be prepared to take full advantage of graphics rendering with the Metal framework.
Table of Contents
Chapter 1: Hello, Metal! Chapter 2: 3D Models
Chapter 3: The Rendering Pipeline
Chapter 4: The Vertex Function
Chapter 5: 3D Transformations
Chapter 6: Coordinate Spaces
Chapter 7: The Fragment Function
Chapter 8: Textures
Chapter 9: Navigating a 3D Scene
Chapter 10: Lighting Fundamentals
Chapter 11: Maps & Materials
Chapter 12: Render Passes
Chapter 13: Shadows
Chapter 14: Deferred Rendering
Chapter 15: Tile-Based Deferred Rendering
Chapter 16: GPU Compute Programming
Chapter 17: Particle Systems
Chapter 18: Particle Behavior
Chapter 19: Tessellation & Terrains
Chapter 20: Fragment Post-Processing
Chapter 21: Image-Based Lighting
Chapter 22: Reflection & Refraction
Chapter 23: Animation
Chapter 24: Character Animation
Chapter 25: Managing Resources
Chapter 26: GPU-Driven Rendering
Chapter 27: Rendering With Rays
Chapter 28: Advanced Shadows
Chapter 29: Advanced Lighting
Chapter 30: Metal Performance Shaders
Chapter 31: Performance Optimization
Chapter 32: Best Practices
About the Authors
Caroline Begbie is a co-author of this book. Caroline is an indie iOS developer. When she’s not developing, she’s playing around with 2D and 3D animation software, or planning The Big Lap around Australia. She has previously taught the elderly how to use their computers, done marionette shows for pre-schools, and created accounting and stock control systems for mining companies.
Marius Horga is a co-author of this book. Marius is an iOS developer and Metal API blogger. He is also a computer scientist. He has more than a decade of experience with systems, support, integration and development. You can often see him on Twitter talking about Metal, GPGPU, games and 3D graphics. When he’s away from computers, he enjoys music, biking or stargazing.