This book is excellent, and it's aimed at relatively advanced practitioners.<p>> This book assumes existing knowledge of computer graphics at the level of an introductory college-level course<p>For people looking for such an introduction, I've written Computer Graphics From Scratch, available in its entirety here: <a href="https://gabrielgambetta.com/cgfs" rel="nofollow">https://gabrielgambetta.com/cgfs</a> (and also from <a href="https://nostarch.com/computer-graphics-scratch" rel="nofollow">https://nostarch.com/computer-graphics-scratch</a>)
I can't recommend this book enough.<p>For anyone looking for a more gentle introduction into ray tracing, I'd also suggest The Ray Tracer Challenge (<a href="http://www.raytracerchallenge.com/" rel="nofollow">http://www.raytracerchallenge.com/</a>) -- it walks you through building a simple recursive ray tracer in a test driven development manner.<p>I started with the RTC, and moved on to PBR - and converting my recursive tracer into a unidirectional path tracer was quite an adventure -- one that continues to this day.
> January 15, 2021: A fourth edition is in the works. Progress on the text is coming along well and the source code is available on github. We expect that the printed version of the book will be out in Summer 2021.<p><a href="https://www.pbrt.org/" rel="nofollow">https://www.pbrt.org/</a>
Something not immediately clear to me is how to use the book. I see it uses a literate programming format, and it seems very well done. But I don’t see (in the first couple of chapters anyway) any code to show intermediate results. Am I supposed to work through the whole book before getting something that I can see? I’m sure I’m missing something.
While physically based rendering is a very nice idea, one has to be careful not to turn it into an ideology.<p>Specifically, in production, you very often have a situation where the artists wants to produce a specific effect and are simply <i>prevented</i> to do so by the rendering system because it strictly adheres to how light would behave in the real world.<p>This very severely constricts creative freedom and is one of the reason why these types of renders are used sparingly in actual VFX production.<p>The luxcore PB render, which someone mentioned in another comment, is a very good example of what I'm talking about: produces really nice realistic images, but it is darn near impossible to get it to do what you want when tweaking a shot.
I truly adore physically based rendering.<p>Seeing the concept become adopted in modern video games over the last couple generations has been an absolute joy. I look forward to replaying games and seeing the progression of the field.<p>Just look at the difference from<p>Gears of War -> Arkham Asylum -> Mass Effect -> Dragon Ball FighterZ -> Fortnite<p>That's all the same engine. And it shows the shift from the "old way" to physically based techniques.<p>On Playstation, you can show a similar progression<p>Uncharted 1 -> Uncharted 2 -> Uncharted 3 -> Last of Us -> God of War -> Uncharted 4 -> Last of Us 2<p>PBR really starts showing up in U3 and Last of Us, but kicks off big time in God of War on the PS4.
I LOVE this book - this is one of those books I recommend reading just for the joy of programming. It explains the concepts so well that you can hop in even without a background in the subject!<p>Back in college I ended up making my own tracer after reading this for fun, implementing features and tweaking it until I got bored.<p>Here's some pictures if you're curious to see how it evolved as I made my way through the book:<p><a href="https://imgur.com/a/e5kgZ" rel="nofollow">https://imgur.com/a/e5kgZ</a>