Here is a list of books I recommend for computer graphics and related fields.
Rendering Techniques
GPU Zen 3: Advanced Rendering Techniques
This book has just been released, and one aspect that interests me most is its focus on modern GPU-driven techniques.
This book explains how Assassin’s Creed Mirage makes heavily GPU-driven rendering possible through a shared CPU/GPU scene representation system. Once scene rendering is mostly GPU-driven, the CPU needs the information to implement texture streaming efficiently. Skull and Bones presents a cross-platform solution to address this issue by writing information about which MIP has been accessed in a CPU-readable format.
However, the book covers much more than these two articles: Virtual Shadow maps, shader languages, differentiable graphics using Slang, efficient sorting in compute shaders, culling particle systems, and much, much more.
Take a look at the Table of Contents and decide for yourself. It has something for everyone.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Real-Time Rendering, Fourth Edition
This book is an absolute favorite of mine since it starts with the fundamentals, explaining the graphics pipeline and hardware. It covers the essential math and then develops from there to cover the foundational shading techniques up to recent techniques.
It makes for a great starting point, but even after finishing it, it remains a valuable reference book and starting point for more in-depth research.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Physically Based Rendering: From Theory to Implementation
After having developed a thorough understanding of computer graphics, you decided that the shading aspects fascinate you. Look no further than this book. It covers all the aspects of Physically Based Shading in amazing detail, focusing on understanding the theory and models that allow us to represent real-life phenomena as closely as possible.
Remember this book is also available for free at pbr-book.org
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Collision Detection
Real-Time Collision Detection
I grab this book from the bookshelves quite regularly. It’s my go-to resource when I need to solve geometry or collision-related challenges.
It has an extensive list of explanations for the most reliable and efficient way to perform various operations.
Looking to test for a collision between two primitives, find the closest point between a shape and a line, how to merge AABBs, and build efficient spatial partitioning structures? This book has you covered, as well as in many more cases. Take a look at the table of contents.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Game Engine Development
Foundations of Game Engine Development, Volume 1: Mathematics
This book provides an in-depth introduction to the mathematics required for graphics developers. It covers “classical” topics such as linear algebra (vectors and matrices), transforms, and geometry and gives the reader a great understanding of how to solve many practical challenges and understand industry work.
However, the book also covers Grassmann/Geometric algebra, a relatively recent algebra extending to more natural work on geometrical objects. With this understanding, some “oddities” of linear algebra, such as the behavior of normal vectors under transformation, can be understood more cohesively.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Foundations of Game Engine Development, Volume 2: Rendering
This book fills the gap where Game Engine Architecture needs more information about rendering.
The book provides an extensive overview of real-time rendering aimed at intermediate-level graphics programmers. It is not a beginner book, and it’s helpful to have followed a couple of getting-started tutorials for graphics programming before picking up this book.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Game Engine Architecture, Third Edition
It is my favorite book, and I own the first and second editions. It covers a vast amount of different topics required for game engine development.
It presents different approaches to engine design and discusses different strategies with practical examples from various engines and their associated tradeoffs. The book provides detailed insights into how Naughty Dog solved several challenges in its property technology.
It doesn’t focus too much on the rendering aspect of engine design but covers everything else.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Data-Oriented Design
Data-oriented design: software engineering for limited resources and short schedules
This book is a quick and fabulous read to get a deeper understanding of what all this talk about data-oriented design is about. It goes beyond the often-mentioned reduction of cache misses. It shows how an application design based on the underlying data’s properties is fundamentally designed differently than when following an object-oriented approach. It provides much food for thought when looking at your problems with a new mindset.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Algorithms
Grokking Algorithms, Second Edition
It’s my favorite introduction-level book on algorithms. It provides a visual approach to understanding the most common Algorithms. It covers sorting, hash tables, pathfinding, dynamic programming, and classification systems. The book presents algorithms in the context of life situations instead of abstract ideas.
Are you getting ready for a programming interview soon? Take a quick peek at this book to refresh yourself on all these techniques you haven’t implemented yourself for a while.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.
Knowledge Management
Das Zettelkasten-Prinzip: Erfolgreich wissenschaftlich Schreiben und Studieren mit effektiven Notizen
This book covers the Zettelkasten method, a method of organizing knowledge based on a structured, interconnected web of fundamental ideas.
This book fundamentally changed how I store, connect, and find all the knowledge I read and learn about daily. Although the book focuses on academic writing, the same principles can be applied to a personal knowledge management system.
This book is in German, and I have yet to read the English translation. Therefore, I cannot comment on the quality of the translated English text.
Buy on AmazonAs an Amazon Associate, I earn from qualifying purchases.