12 ms·
Show HN: Physically Based Rendering – Online Edition
- xchip 8y agoWooow thanks guys!
- wjakob 8y agoMatt, Greg, and I are super-excited to release a free online edition of the Physically Based Rendering Book with hyperlinked cross-referencing, beautiful SVG figures and equations as well as interactive image comparisons. The details of how all of this came to be are explained in the preface to the online edition. (http://www.pbr-book.org/3ed-2018/Preface_to_the_Online_Edition.html http://www.pbr-book.org/3ed-2018/Preface_to_the_Online_Editi...)
- chubot 8y agoThis is amazing! Thank you. I still buy physical books rather than e-books, but I always thought that hyperlinks were a great part of a reading experience as well.
- dtf 8y agoFantastic news and amazing work, the site looks beautiful! I love my copy of PBR but it's always been a tad on the heavy side for casual reading :) The image viewer works brilliantly and the renders are looking gorgeous. Looking forward to spending some hours with this on my iPad later.
- CyberDildonics 8y agoReally great work. I think this book has been exceptionally valuable to many people over a long period of time, and likely raised the overall level of raytracing knowledge among graphics programmers by a large amount.
- akalin 8y agoThank you, this is fantastic news! PBR has always been one of my favorite textbooks. Your road map says: > We plan to release updated versions of the book roughly once a year, starting a year or so from now. Out of curiosity, do you guys still plan to release new print editions?
- wjakob 8y agoThanks! We'd love to have a new print edition at some point in the future, but the details of this are yet to be determined.
- mattnewport 8y agoAwesome, I just recently bought both the print and eBook editions as I start to dive into DirectX ray tracing, this looks like it will be a great complement!
- OnACoffeeBreak 8y agoIs there a place to report issues? In section 2.9.1 Quaternions, 4th paragraph reads as if it's missing an equation for the second representation of a quaternion: A quaternion can be represented as a quadruple [EQ present] or as [EQ missing] , where is an imaginary 3-vector and is the real part. We will use both representations interchangeably in this section. This is what it looks like for me: https://imgur.com/a/3Mfanma https://imgur.com/a/3Mfanma
- mattpharr 8y agoNice find! In general, you can send errata/bugs to authors@pbrt.org, but we got this one. :-) It looks like an equation that MathJax wasn't happy with. I've got it fixed now and will include that fix in a push to the site in a little bit. If you want to be listed as something other than "OnACoffeeBreak" in the errata credits, send me an email (matt@pharr.org). Thanks again!
- deleted 8y ago[deleted]
- peakai 8y agoEver since I saw this book being sold, I've been eagerly wanting to read it. The physics-based approach is definitely the way I would prefer to learn any subject, and rendering is just one of the areas I wish I knew more about. Delighted to know that you guys put it online, thank you!
- jason_slack 8y agoThank you so much. I love my physical copy but can't always take it with me places.
- boromi 8y agowhat technology have they used to create the website? I'm guessing some pandoc to html workflow plus a static site engine?
- mattpharr 8y agoIt's pretty much a big hack. The book was originally written in TeX, with lots of macros on top. We hacked together a custom translator (~3k loc, written in golang) that parses the TeX and generates the site. Then MathJax to render the equations, Bootstrap 4 for some navigation, and jeri.io for the interaction with images.
- svat 8y agoThank you, this is the first time I've seen a "literate programming" text presented on the web. It's really well done, and makes up for some of the drawbacks of on-paper LP: being able to expand the definitions of sections (modules?) in-place, and being able to follow function definitions, are both very useful. I had some plans to present some other such written-in-TeX-literate-programs in HTML; could you perhaps share somewhere your "big hack" that you used here (the translator, the javascript)? Totally ok if you don't want to :) Thanks,
- s-macke 8y agoThank you for this detailed description. I will definitely take a look and read a few chapters about the light transport. Just a remark. When I first read the title, I was interested in the approximations you use because you emphasize physics so much in your book and your title. I read the preface and found a suspicious sentence. When configured to do so, pbrt can compute images that are physically correct; they accurately reflect the lighting as it would be in a real-world version of the scene. That is not correct. You use a phenomenological model for the light-matter interaction and approximate the effects of light with raytracing. That still produces (almost) photo realistic images for our eyes, but is not "physically correct". A paragraph on the limitations of technology could be worthwhile.
- wjakob 8y agoThe renderer accurately simulates a good chunk of geometric optics -- light propagation along rays, multiple scattering, specular reflection, refraction, and surface roughness due to random microstructure using state-of-the-art models. It does not simulate wave-optical effects, polarization, fluorescence, and phosphorescence. Some of them are easy to add (e.g. polarization), others such as wave optics are very challenging to solve in a fully general setting and would make the resulting system impractical to use. However, that's not the whole story: even when simulating the underlying optics meticulously, a rendering of plane is not going to look photorealistic. Some detail must also go into modeling of the input, which is beyond the scope of the book (though Section 10.6 talks a bit about creating detail with noise functions).
- deleted 8y ago[deleted]
- dahart 8y agoI’d love to hear a bit more about what you mean. What parts of the model do you consider incorrect, and what would it take to be correct? Are there specific things you read in the book, or are you talking about rendering and/or ray tracing generally? Do you have some specific limitations you’re thinking of? Honestly curious, since as a graphics person and not a physicist, I’ve been under the impression that most of our “physically based” rendering framework these days can be derived from, explained by, or validated against first principles, and that only some of the reflectance functions we use might be described as “phenomenological” (and we might call those “hacky”). And as @wjakob said, there are certainly optical effects we don’t normally see, and don’t spend time computing. Is it possible to have phenomenological models that are correct? The word means the model hasn’t been derived from first principles, but it doesn’t mean the model is wrong... right? Personally, I think of the term “physically correct” within the context of computer graphics history. It’s not a technical term, and its meaning historically is referring to what came before now, and maybe not as much of a strict literal absolute as your interpretation(?). The 80’s and 90’s were full of fabulous graphics tricks that are even less physically correct than what we have now. Video games still have lots of them too. Calling our newer techniques “physically correct” is perhaps kinda like how we call our TVs now “high definition”, or our colors “high dynamic range”. They’re not “high” in any absolute sense of the word, they’re just higher than before. In 10 or 20 years, what we call “high definition” today is probably going to feel like pretty low definition.
- elteto 8y agoWhat is the best way to attack this book as a graphics programming beginner (but with plenty of C++ experience)? I saw several people praise it a while back in HN and took a cursory look. It seemed complete and thoroughly explained but missing examples or "checkpoints" along the way where I could turn around and test what I had been building.
- mattnewport 8y agoOne option is to dive in with Peter Shirley's ray tracing intros linked at the top of http://www.realtimerendering.com/raytracing.html http://www.realtimerendering.com/raytracing.html These will get you a quick overview and get something rendering. PBRT is a great follow up to really understand the physical underpinnings and get more into the theory of how to do things correctly and efficiently.
- elteto 8y agoFantastic! Thanks for the suggestion.
- corysama 8y agoThe new Real Time Rendering book is good. Also, the sidebar of https://www.reddit.com/r/opengl/ https://www.reddit.com/r/opengl/ has good tutorials
- corysama 8y agoThere is a Patreon to help pay for the servers https://www.patreon.com/pbrbook https://www.patreon.com/pbrbook
- cultofmetatron 8y agoThis makes me super happy. I bought the book a few years back and always meant to go through it with rigor to build my own renderer. Now I have that free time but as a digital nomad, I couldn't bring the book. (its up there in size).
- feiss 8y agoThis is amazing news. Congratulations and thanks so much for this present to humanity.
- brian_herman__ 8y agoAwesome work guys! http://www.pbr-book.org/3ed-2018/Introduction/Photorealistic_Rendering_and_the_Ray-Tracing_Algorithm.html http://www.pbr-book.org/3ed-2018/Introduction/Photorealistic... I am going to read this part when I get home.
- Chazprime 8y agoThanks for putting this online, my physical copy is currently buried in storage and I’ve been dying continue reading it!
- vkoskiv 8y agoI got my physical copy a few months ago, glad to see more people having access to this great resource now!
- archgoon 8y agoThis is the book that won Matt Pharr, Greg Humphreys and Pat Hanrahan an Academy Award https://www.oscars.org/sci-tech/ceremonies/2014 https://www.oscars.org/sci-tech/ceremonies/2014 >> To Matt Pharr, Greg Humphreys and Pat Hanrahan for their formalization and reference implementation of the concepts behind physically based rendering, as shared in their book Physically Based Rendering. >> Physically based rendering has transformed computer graphics lighting by more accurately simulating materials and lights, allowing digital artists to focus on cinematography rather than the intricacies of rendering. First published in 2004, Physically Based Rendering is both a textbook and a complete source-code implementation that has provided a widely adopted practical roadmap for most physically based shading and lighting systems used in film production.