Metal by Tutorials (Second Edition): Beginning Game Engine Development with Metal
Authors: raywenderlich Tutorial Team – Caroline Begbie – Marius Horga
ISBN-10: 1942878982
ISBN-13: 9781942878988
Released: 2019-12-02
Print Length 页数: 735 pages
Book Description
Build your own low-level game engine in Metal!
This book will introduce you to graphics programming in Metal — Apple’s framework for programming on the GPU.
By the end of this book,you’ll build your own game engine in Metal where you can create 3D scenes and build your own 3D games.
Metal is a unified application programming interface (API) for the graphics processing unit,or GPU. It’s unified because it applies to both 3D graphics and data-parallel computation paradigms. Metal is a low-level API because it provides programmers near-direct access to the GPU. Finally,Metal is a low-overhead API because it reduces the central processing unit (CPU) cost by multi-threading and pre-compiling of resources.
But beyond the technical definition,Metal is the most appropriate way to use the GPU’s parallel processing power to visualize data or solve numerical challenges. It’s also tailored to be used for machine learning,image/video processing or,as this book describes,graphics rendering.
This book will introduce you to low-level graphics programming in Metal — Apple’s framework for programming on the graphics processing unit (GPU). As you progress through this book,you’ll learn many of the fundamentals that go into making a game engine and gradually put together your own engine. Once your game engine is complete,you’ll be able to put together 3D scenes and program your own simple 3D games. Because you’ll have built your 3D game engine from scratch,you’ll be able to customize every aspect of what you see on your screen.
This book is for intermediate Swift developers interested in learning 3D graphics or gaining a deeper understanding of how game engines work.
Introduction
Chapter 1: Hello,Metal!
Chapter 2: 3D Models
Chapter 3: The Rendering Pipeline
Chapter 4: Coordinate Spaces
Chapter 5: Lighting Fundamentals
Chapter 6: Textures
Chapter 7: Maps & Materials
Chapter 8: Character Animation
Chapter 9: The Scene Graph
Chapter 10: Fragment Post-Processing
Chapter 11: Tessellation & Terrains
Chapter 12: Environment
Chapter 13: Instancing & Procedural Generation
Chapter 14: Multipass & Deferred Rendering
Chapter 15: GPU-Driven Rendering
Chapter 16: Particle Systems
Chapter 17: Particle Behavior
Chapter 18: Rendering with Rays
Chapter 19: Advanced Shadows
Chapter 20: Advanced Lighting
Chapter 21: Metal Performance Shaders
Chapter 22: Integrating SpriteKit & Scenekit
Chapter 23: Debugging & Profiling
Chapter 24: Performance Optimization
Conclusion