Ahhh, the 2nd rendering bible, together with Eric Veach's thesis: <a href="https://graphics.stanford.edu/papers/veach_thesis/" rel="nofollow">https://graphics.stanford.edu/papers/veach_thesis/</a><p>I've spent my entire life studying this stuff and feel extremely lucky on so many levels: that we have these incredible computers which can actually do the computation, that we happen to have such a powerful theory that can model and even predict visual reality, and perhaps most of all, that a single person can learn all this stuff and carry it around with them everyday - it's really changed how I see the world.<p>My deepest thanks go to those who have developed and passed all this on through their papers and books; it's literally what I'm getting the meaning of life from.
Note: the 4th edition of this book will likely be out by the end of this year, and cover GPU pathtracing. (I believe the free web edition will be released a few months after the hardback)<p>The Early Release (still in-development) version of pbrt-v4 can be found here:<p><a href="https://github.com/mmp/pbrt-v4" rel="nofollow">https://github.com/mmp/pbrt-v4</a>
Haven't seen it mentioned in here: Matt Phar is also behind ispc, a subset of C (?) in the spirit of SPMD, and an optimizing compiler (based on llvm iirc). It can target Intel AVX (up to avx512, I think?) and is quite fun to work with. It can help out if you're in a rut of using intrinsics and cursed cuda kernels. A fresh take on a programming model.<p>I recommend taking a look at the amazing story behind it <a href="https://pharr.org/matt/blog/2018/04/30/ispc-all" rel="nofollow">https://pharr.org/matt/blog/2018/04/30/ispc-all</a> .<p>It's very interesting to see not only the pure tech part, but also the disheartening lack of interest at Intel on the subject. Missed opportunity I think... You can feel a lot of fun turning into a lot of... Sadness? in the end.<p>Really a big fan of all things Matt Phar, I hope he has the time of his life at nvidia and that they put him to good use!
Fun Facts:<p>The book is a "literate program". You can run the book through a parser and it will give you the compliable working source of the complete renderer it is describing. <a href="https://www.pbr-book.org/3ed-2018/Introduction/Literate_Programming" rel="nofollow">https://www.pbr-book.org/3ed-2018/Introduction/Literate_Prog...</a><p>It is the only book to win an Oscar <a href="https://www.oscars.org/news/19-scientific-and-technical-achievements-be-honored-academy-awardsr" rel="nofollow">https://www.oscars.org/news/19-scientific-and-technical-achi...</a>
This book looks really great but also advanced.<p>If you would like to take some first steps into this domain I can recommend Ray Tracing in One Weekend [1]. Not only will you learn how to write a path tracer, but it also touches on things like motion blur and animation. For me it was one of the best starting points because it was very simple to follow.<p>[1] <a href="https://raytracing.github.io/" rel="nofollow">https://raytracing.github.io/</a>
“Physically Based” always seemed to be a grammatical error to me.<p>“Physically” is an adverb, which should modify an adjective or verb. So parsing the phrase, “physically based” implies that “based” is used as an adjective or verb, which would imply that “physically based rendering” is a special form of “based rendering”, which makes no sense.<p>“What kind of rendering is it? Based rendering. What kind of Based rendering? Well, Physically Based, of course.”<p>It should probably instead be “physics based rendering”, right?<p>Edit: english.stackexchange seems to agree, although it’s closed as offtopic: <a href="https://english.stackexchange.com/questions/165416/is-physically-based-rendering-grammatically-correct#428679" rel="nofollow">https://english.stackexchange.com/questions/165416/is-physic...</a>
If you're interested in PBR in addition to this book I've found the filament write up on their method extremely useful too <a href="https://google.github.io/filament/Filament.md.html" rel="nofollow">https://google.github.io/filament/Filament.md.html</a>
I always love seeing PBR here. I work in atmospheric science, in particular modelling of radiation in the atmosphere, and the equations that we use are identical to that of PBR. The main difference is that in the atmosphere you are more concerned with processes along the ray, e.g. Rayleigh scattering, clouds, or absorption/emission from trace species in the atmosphere, while in rendering it is all about surface effects.
One of the best technical books I've read. A lot of books on the subject are math heavy but lacking in implementation detail, others gloss over the math and implement the easy stuff.<p>This book has a great mix IMHO, going into the math as well as tricky implementation details yet in a very approachable manner.<p>Lots of great times were had as a result of this book.
> This book assumes existing knowledge of computer graphics at the level of an introductory college-level course, although certain key concepts such as basic vector geometry and transformations will be reviewed here.<p>Had this book on my "to read" list for a while. Given that it appears to be more rigorous than my previous contact with the world of rendering, and since this is just a hobby of mine:<p>What pre-knowledge (topics, math, other sources or books) offers a solid preparation to fully tackle the pbr book?
So, can I just start reading this book chapter-by-chapter implementing what I learnt in a language of my choice? What is the optimal way to go through this book?