Resources for Beginning Graphics Programming
The following three books are all good general computer graphics programming textbooks. It is pretty common to see any one of these books used as the textbook for college graphics courses. If you feel like you could use some extra help with the math of these books, I recommend supplementing one of these with the math book I mention below.
Computer Graphics with OpenGL, 4/e is appropriate for junior-to graduate-level courses in computer graphics. Assuming…www.amazon.com
If you could use some help understanding the math required for computer graphics, I can not recommend “Essential Mathematics for Games and Interactive Applications” enough. I had very little formal math education and this book was my bible to get through all of my graphics course work. I still keep a copy of this book on my desk at all times for easy reference.
Expert Guidance on the Math Needed for 3D Game ProgrammingDeveloped from the authors' popular Game Developers…www.amazon.com
Pixar has partnered with Khan Academy and has been releasing some really awesome down-to-earth lessons on terminology used in graphics and animation. This is the resource I wish I had when I was trying to figure out if I wanted to go to school to study 3D animation. The lessons quickly give you a feel for topics and what sort of prerequisite math you may need. I’d recommend this resource for both kids and adults. Pixar “behind the scenes” videos are what got me started in 3D animation.
Pixar in a Box is a behind-the-scenes look at how Pixar artists do their jobs. You will be able to animate bouncing…www.khanacademy.org
“Real-Time Rendering” is still a fairly general computer graphics text, but it begins to dive into some more advanced topics such as advanced shading and global illumination using modern techniques. I’d recommend this book after you’ve wrapped your head around one of the beginner textbooks.
Thoroughly revised, this third edition focuses on modern techniques used to generate synthetic three-dimensional images…www.amazon.com
“OpenGL Insights” is a great compilation of basic to advanced topics in modern OpenGL by various experts in the field. I love how practical this book is for more advanced areas — OpenGL books really lack in this area. “OpenGL Insights” fills in the gap between basic OpenGL tutorials and advanced rendering papers that lack implementation details. This book also touches on webGL in several topics.
These programming guides, often just referred to as “The Red Book”, are the official guides to OpenGL and the more modern Vulkan. It is good to have a copy around, but I have included them in the Intermediate section because they are heavy on the technical specifications and less about learning computer graphics concepts.
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V (9th Edition) [John Kessenich…www.amazon.com
I’ve labelled these books as advanced because they are deeper dives into particular areas of computer graphics and may require more prerequisite graphics, programming, or mathematics knowledge.
“Game Engine Architecture” is very well written and can provide a good understanding of all the systems that come together to form a Game Engine. In my recent interviews, I’ve found game engine experience gaining importance, especially if you’re interested in going into VR.
Hailed as a "must-have textbook" (CHOICE, January 2010), the first edition of Game Engine Architecture provided readers…www.amazon.com
“Physically Based Rendering” lived in my backpack the entire time I was working on my thesis. If you are interested in advanced rendering, this is THE book. The book steps you through the theory and implementation of the opensource rendering system called ‘PBRT.’ This opensource system has been used in countless papers and is well documented and extremely extensible if you want a good starting point for graphics research.
Physically Based Rendering, Third Edition: From Theory to Implementation [Matt Pharr, Wenzel Jakob, Greg Humphreys] on…www.amazon.com
Very few graphics books have good coverage of animation programming. Game engine books are usually your best bet, but “Computer Animation: Algorithms and Techniques” is a must have if you are interested in this area of computer graphics programming.
While books and classes are great for getting a good base knowledge, these resources can get outdated quickly in this field. Also, if you want to stay competitive in a graphics career, it helps to network! Go to conferences, answer questions in forums, do write ups for your projects, contribute to open source software — be seen! The following resources will help you stay at the top of the industry.
SIGGRAPH is a huge graphics conference covering everything from low level graphics programming, art, animation — all the way to interactive installations, robots, and virtual reality. If you are a student, becoming a student volunteer is an invaluable experience. You can learn a lot from the sessions, but the opportunities you get from networking at this conference are key!
The ACM special interest group on Computer GRAPHics and Interactive Techniques, bringing together scientists, engineers…www.siggraph.org
Materials from past SIGGRAPH conferences can be found in the ACM Digital Library. Becoming a SIGGRAPH member will get you access to additional materials and a discount on your conference pass.
GDC is the Game Developer Conference held in San Francisco, CA each year. It also contains a wealth of graphics related talks and VR sessions have also become popular.
Some of the materials from past GDC sessions can be found at the GDC Vault.
One of my favorite ways to learn new topics in short sittings, or to just stay excited about the latest graphics technology, is to watch online videos.
SIGGRAPH has their own YouTube channel that I subscribe to.
ACM SIGGRAPH YouTube Channel
GDC also has a YouTube Channel.
For something a bit more advanced, subscribe to Disney Research’s channel.
If you have another resource you’d like to recommend, please let me know! Happy learning!