WebGL: Up and Running by Tony Parisi is a competent first introduction to 3d on the web, and the author does seem to know what he’s talking about. The book is not long, but manages to cover a variety of topics, even the source code for a complete game (simple as it may be). The chapters include: introduction to the WebGL API, setting up Three.js, rendering a mesh, animation, interaction, integrating 2d and 3d, and a game example. I would say the coverage is thin, but adequate for people starting out. The example racing game at the end was nice, and the author shows theRead More →

I’m a bit conflicted about this book. While there is a lot of good material here, I feel like there were many inconsistencies with the coding style and some errors or confusing explanations that deter from the gems inside. It’s also heavily geared toward complete beginners, making it somewhat of a numbing read for intermediate to advanced programmers. But I still found some reasons to like it, so please read on. Each chapter or gem covered one focused aspect of WebGL coding. For example: creating a canvas and initializing WebGL, the graphics pipeline and shaders, some basic vector and matrix math, 3d transformations, drawing aRead More →

So, as of this writing, I have read all 5 books available on Amazon on the Vulkan API and I would say that Vulkan Cookbook is one of the better resources out there. The format of the book is similar to other “cookbooks” you may have seen, with each recipe essentially describing one technique in a stand-alone fashion. Meaning the steps for each one will list fundamentals, like creating a logical device and all the other prerequisites, so you can easily refer back to one chapter when it’s time to implement a particular feature. I would personally recommend reading the text from front-to-back, as IRead More →

Introduction to Computer Graphics and the Vulkan API by Kenwright is exactly what the title implies, an approachable introduction to the Vulkan API and graphics programming in general. This book succeeds in the places where some other books on the market fail, by showing straight-forward code examples, explaining graphics concepts simply, and not assuming you are already a graphics guru. While the quality of the text may fall short of Frank Luna’s work, this is definitely aspiring to be that kind of book, in stark contrast to some other texts which just list structure declarations and barely move past what you find in the API documentation.Read More →

Jeremy Birn’s Digital Lighting and Rendering is a masterful treatise on digital lighting and, in my opinion, a must have on your bookshelf if you’re a 3d artist. While the text is clearly aimed at pre-rendered art, for example in animated movies or live-action effects, most of the concepts are fundamental enough to apply to lighting real-time scenes in games, or even more traditional art mediums. I found the pace to be good, and lots of important areas are covered. The chapter list includes lighting design, shadows and occlusion, environments and architecture, characters, cameras, composition, the science of color, rendering algorithms, textures, layers, production pipelines, and anRead More →

Although the Vulkan API has been available for about a year now, it was just at the tail end of 2016 that we started to see books published on the topic. For me personally, I prefer learning from books over just reading documentation, and Vulkan Programming Guide is a fine effort. At 480 pages, it is a comfortable length, and manages to hit on a lot of major elements in the API. It is by no means comprehensive, as most of the coverage just shows function or structure prototypes (something you can likely find in the online docs) but there is at least some explanation ofRead More →

Learning Vulkan by Parminder Singh is an excellent foray into the Vulkan graphics API and quite a competent book. The text is a reasonable 466 pages, and packs a lot in there. Singh covers all the basics of using Vulkan and goes into great detail at each step of the way. Not only is there actual C++ code shown (a lot of it), but he explains each API call and what objects to pass it, a breakdown of each object structure and what it does, what’s valid (or invalid) for data you can put in, and so forth. I have not read the official Vulkan Programming Guide yet (that’sRead More →

Vulkan Graphics API: in 20 Minutes is a short, no-nonsense, introduction to the Vulkan graphics API. Though the title of the book says “20 minutes,” I believe I spent somewhere between 1 and 2 hours to finish it (though I admittedly read pretty slow). This is the type of book I wish there were more of: something short and sweet as a brief intro to get your feet wet. I feel many programming books can be daunting at 600+ pages, so it’s nice to find something you can complete in one or two sittings. So what is actually covered in this little book? Basically itRead More →

Essential Mathematics for Games and Interactive Applications by James M. Van Verth and Lars M. Bishop is a quality math book if I ever saw one.  Strangely, the first edition came out in 2004 but the book was kind of off my radar until recently.  This third edition was published in 2015 and seems very current. The authors here do a great job of explaining the material properly. I felt like they created a great foundation for learning these complex ideas and I appreciated the  quality and readability of the code  samples. The book starts with an overview of computer number representations, and goes intoRead More →

Game Programming Algorithms and Techniques is one of those books that tries to be as general as possible, and I believe the author was successful in that. Too many books target one specific piece of software or even one particular version of a framework and end up becoming dated rather quick. However, the core ideas in game development have not fundamentally changed in a while. Sure graphics get better, and there are more complexities to working with modern hardware, but the programming algorithms themselves are still very much the same. Sanjay Madhav starts the book with an overview of some classic games, how a gameRead More →