Mastering Graphics Programming with Vulkan: Develop a modern rendering engine from first principles to state-of-the-art techniques
A**D
Great Reference for Building Rendering Engines
TL:DR - This book gave me new ideas for future engines, and using vulkan helped me overcome the "where to start" barrier.I feel this book is aimed at intermediate graphics engine developers. People who are more than familiar with the basics, and have solved some complex problems already. I've written a few, mostly for the web (webgl) and mostly for static CAD scenes (bim, step, etc), which has definitely left me a little stagnant in my skills. This book was a great eye opener for the number of concerns an engine generally has and offered, for me anyways, great ideas for solving some of those abstract problems. While I don't use vulkan for work, I'll definitely be referencing some of the engine design into future projects.
J**S
BEWARE! This book is NOT an introductory book on Vulkan, but rather the next step after one
Beware the title might confuse many people making them think it would take them from from scratch... it doesn't... as the very first paragraph of the very first chapter says:"When we set out to write this book, we decided our goal was to start where a traditional Vulkan tutorial might end. There are plenty of grate resources, both in print and on the web, that help beginners discover and understand the Vulkan API.We decided o write this book as we felt there was a gap between these introductory tutorials and some of the more advanced material".As this is an intermediate-level book, it uses an already existing very basic framework (raptor "engine") abstracting many utilities needed (filesystem, memory allocation, a camera, etc) and some of the vulkan beginner's stuff you should already know, so that while reading the book you can focus only on writing the graphics systems (in Vulkan) to acomplish the goals of each chapter.Haven't finished yet, but so far it has been a very good read.I do recommend it.. just bewere that if you don't have some beginner-level Vulkan knowledge (or even DirectX could do) then this is not the book you're looking for.
P**S
Good algorithms and work, strange implementation for a reference book
Mastering Graphics Programming is a Vulkan book aimed at people who have worked through introductory tutorials, but don't know what to do next. They assume a basic knowledge of the GPU, C++, and Vulkan, and implement a renderer with several intermediate to advanced features.There's plenty to like about the book. It occupies a good niche, since most Vulkan content online is either incredible bare-bones and introductory, or aimed at senior engineers. The content of the book is generally well-written, and the set of topics are complete. Everything is implemented on GitHub for you to take a look through the code.Unfortunately, the authors have made the decision to tie the book and its algorithms very strongly to their Raptor engine. Some of the choices for this engine might are completely insane for the target audience of this book to implement. For example, the authors re-implement the C++ standard library for "fine-tuned control over memory lifetimes", even writing their own heap allocator. Why? This is a book meant to be learned from. This adds complexity and indirection to many of their examples. Companies have done this before; EA re-wrote stdlib for some of their engines, for example, but no sane person trying to learn graphics programming and get a job would re-write all of the standard library to make their compile times faster, and writing an engine using Raptor's stdlib abstraction would raise eyebrows during an interview. They also write classes that abstract over Vulkan, but these I find more reasonable.I think this book is best used as a general reference. You can use it to figure out more complicated graphics ideas you might want to implement in your rendering engine. If you've finished the Vulkan tutorial, and are struggling to figure out how to implement additional features, this might not be the greatest book you've worked with, since its implementations are tightly tied to the authors' existing renderer, but it also might be one of the only options to help you out.
A**A
Between Intermediate-to-Advance book on Vulkan. Should be familiar with Vulkan and Graphics concepts
Vulkan is an advanced graphics language that assumes the programmer knows the basics of 3D computer graphics. This book is for intermediate graphics programmers who want to further their knowledge in Vulkan by implementing advanced graphics effects while not using engines that abstract a lot of its functionality from its users. Readers of this book should already be familiar with basic graphics programming concepts and have basic knowledge of Vulkan (A beginner should start from the official Vulkan tutorial website).The authors of this book provide code for every chapter in the book. It guides the reader in their learning process. One Disclaimer: The book is for only Windows and Linux users and doesn't support macOS users.When installing code in your windows machine (I tested it out for windows only), follow the steps mentioned on their readme, starting with cloning the repo and downloading the glTF assets, and do not download the code as a zip (I tried and failed to run the code in the first shot).When I ran the initial code, it displayed a sponza scene (a different location than what the book showed). I liked that it showed the Sponza scene since it demonstrates multiple texture handling and begins where I last left Vulkan.After further skimming the book, I liked that the authors provided links for further reading at the end of each chapter. From a reading point of view, I would have liked it more if the font size in the code blocks was smaller (perhaps the same as the text size, or a little smaller to have the command fit in a line and be well intended) so that the code is easy to read as there are multiple line-breaks even to initialize a variable. I have read the Red and the Blue book on OpenGL, and this suggestion stems from those books. That's the only reason for me to give it four stars. Rest the book is good and well written.
B**N
Great Resource for Learning Advanced Rendering Techniques
It does have some sections specific to Vulkan and how to take the most advantage of everything Vulkan offers, but the meat of the book is about rendering engine techniques.
Z**E
Ok, not much detail
Was more of a application level book, using the toolset developed by the authors.
A**N
Très bon livre pour niveau intermédiaire
Je cherchais un livre pour mettre à jour mon cours au niveau universitaire (infographie). J'ai été agréablement surpris au niveau du contenu du livre, qui aborde beaucoup de concepts avancés (e.g., TAA, Diffuse GI, ... ). À première vue, le livre est assez hands-on et introduits les concepts avancés avec des exemples concrets. Cependant, il faut une bonne base en infographie pour pouvoir facilement naviguer dans les différents concepts.Je recommande ce livre pour toutes personnes ayant une expérience en infographie et veux des exemples concrets de technique modernes en Vulkan.
A**S
Vitally important information and concepts
The first read through has allowed me to gain an understanding for Vulkan from which otherwise I would find it hard to grasp. Vulkan is a complicated graphics API but is explained in a simple, thorough manner in this book. There were things I had no idea about before reading this book, but after testing the code and following the examples I was able to gain a good foundation for future learning.I bought the Kindle Edition, I wish I had the hardback but needed it for reference rather quickly!
P**N
Great content, hard to follow along.
This book has some really good content, my only grief is that it's quite hard to follow along with. Not because concepts are too hard or that they explain it poorly, but rather because there is a lot missing. I expect if I start with the code for chapter 2 and follow along with the code changes in chapter 3, that it should cover all of the changes. They cover only the most essential parts and leave out large refactors that they also did and that you might also need to do to get it to build and run well. You have the code for chapter 3 so you can figure out what you are missing, but it's quite exhausting to diff like this, especially when it's not minor things. All of a sudden they have also refactored stuff into classes and split stuff to new functions, sometimes in other files and you get the joy of discovering this on your own.Maybe the authors thought it would be too much text to cover everything, so it could have been a concious tradeoff, and that might be the right call, but be that as it may, it still makes following along a pain in my opinion and I think I'll eventually just fall back to reading and looking at the code.
O**D
Not a vulkan book but one of the best graphics programming books
On my first read i was dissapointed that it is not really a "vulkan" book. The last few chapters don't even mention vulkan api at all. However, once I started rereading it just as a graphics programming guide, i realized this is an amazing book. Going step by step through how to implement various techniques is much more valuable than just showing how to master a graphics api. Hopefully they'll come up with a 2nd edition with even more recent techniques like restir.
O**K
Advanced
It's a bit advanced for my son of 11 year but he acknowledges that it is definitely worthed to have in collection. I will be looking forward to beginner's book for him. Thanks.
Trustpilot
5 days ago
2 weeks ago