[HN Gopher] Physically Based Rendering Book
       ___________________________________________________________________
        
       Physically Based Rendering Book
        
       Author : jasim
       Score  : 108 points
       Date   : 2021-07-16 11:25 UTC (2 days ago)
        
 (HTM) web link (www.pbr-book.org)
 (TXT) w3m dump (www.pbr-book.org)
        
       | tinus_hn wrote:
       | I remember the Luxrender renderer was based on this book.
        
       | hawthornio wrote:
       | Pedantic, but: Shouldn't the title be "Physically-Based
       | Rendering"?
        
         | sampo wrote:
         | If you want to be strict, maybe the book title should be
         | "physics-based". If we are a bit more liberal, we can accept
         | "physically based". "Physically-based" might be the most wrong
         | of the three.
         | 
         | https://english.stackexchange.com/questions/165416/is-physic...
        
         | mattpharr wrote:
         | Extra pedantic: no, because "physically" ends in "-ly". :-)
         | 
         | (Rule 3 here:
         | https://www.grammarbook.com/punctuation/hyphens.asp)
        
       | aspaceman wrote:
       | I truly adore physically based rendering.
       | 
       | 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.
       | 
       | Just look at the difference from
       | 
       | Gears of War -> Arkham Asylum -> Mass Effect -> Dragon Ball
       | FighterZ -> Fortnite
       | 
       | That's all the same engine. And it shows the shift from the "old
       | way" to physically based techniques.
       | 
       | On Playstation, you can show a similar progression
       | 
       | Uncharted 1 -> Uncharted 2 -> Uncharted 3 -> Last of Us -> God of
       | War -> Uncharted 4 -> Last of Us 2
       | 
       | PBR really starts showing up in U3 and Last of Us, but kicks off
       | big time in God of War on the PS4.
        
       | mkl95 wrote:
       | > 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.
       | 
       | https://www.pbrt.org/
        
         | marvindanig wrote:
         | Why the dead-tree?
         | 
         | Can we not try monetization of your book straight on the web
         | instead, right here on your website? As developers we should
         | lead the change away from pulp to electronic screens...
         | 
         | Edit: I mean, I'd be happy to pay the author (note, not
         | donate*) for this corpus online.
        
           | mattpharr wrote:
           | > I'd be happy to pay the author (note, not donate*) for this
           | corpus online.
           | 
           | Lucky for you, we have a Patreon. Looking forward to your
           | support!
        
             | chrsig wrote:
             | Please share! And truly, thank you so much for writing the
             | book. I have a physical copy, though I mostly read it
             | online.
             | 
             | I've never been an academic, and have struggled in school,
             | so higher mathematics has always been a bit out of my
             | reach.
             | 
             | This book has been the driving force behind learning
             | trigonometry, calculus, linear algebra, sampling theory,
             | and I'm sure much more.
             | 
             | In turn, those learnings have made AI/ML material more
             | accessible to me as well.
             | 
             | I'm very much looking forward to the 4th edition!
        
           | cinntaile wrote:
           | What's wrong with books? They last a very long time and they
           | don't require any electricity to be able to read them? Do you
           | have studies that have compared the environmental impact of
           | both?
        
             | marvindanig wrote:
             | 1. They last a long time has zero significance because the
             | content is outdated in a year or less.
             | 
             | 2. You don't need studies to know the difference between a
             | natural habitat and cultivated land. And that the former is
             | non-renewable.
             | 
             | It looks like this comment is coming from one of those
             | pulp-farming ambassadors spreading
             | misinformation/whataboutism. This happens every time when a
             | case for online publishing with direct payments to authors
             | is put forward. Ha!
        
               | cinntaile wrote:
               | 1. This isn't a fast moving web framework, the underlying
               | mathematics are forever. But maybe the code
               | implementation gets outdated after a couple of years.
               | 
               | 2. You need something to base your opinion on though,
               | preferably peer-reviewed scientific studies.
               | 
               | You read way too much into my comment.
        
               | marvindanig wrote:
               | You need a peer-reviewed research to know the difference
               | between natural habitat and cultivated land?
        
               | cinntaile wrote:
               | I refer to my original comment, not the one where you
               | moved the goal posts. Environmental impact is of course
               | much more than just the difference between cultivated
               | land and natural habitat, almost everything we as humans
               | do has an impact on the natural habitat.
        
               | detaro wrote:
               | a first-edition copy of this book would still be a
               | worthwhile read.
        
               | marvindanig wrote:
               | Yeah, a Github repository can do that easily. As if high
               | karma, twisted logic would help you cut it.
               | 
               | To the moderators:
               | 
               | Dang, please un-flag my previous comments because it is
               | absolutely spot-on and these dead-tree fanatics are
               | suppressing my voice for no reason other than
               | control/hate.
        
           | dahart wrote:
           | Did you see that the link here is to a fully online version
           | already?
        
             | marvindanig wrote:
             | It seems like you're confused. And angry? Did you
             | understand the context of my comments, OTOH?
        
           | misnome wrote:
           | Should we? I spend my life staring at electronic screens,
           | it's nice to not do so for reading round, or sit outside and
           | do so.
           | 
           | Maybe it's an age thing, I used to have a lot more tolerance
           | for this before my 30's. Kindles are fine, but for
           | leisure/fiction reading, or anything technical - it's nice to
           | be able to flip back/forth.
        
             | marvindanig wrote:
             | I agree with you on Kindles; they're certainly worse than
             | having books on the open web, even if it were to be paid
             | content.
             | 
             | I also agree with you that page turning experience is _the_
             | native control of a book and that it adds to the saccadic
             | perception of moving forward with time.
             | 
             | B.t.w, I made this demo for exactly the reasons you
             | mentioned, and I'm an older developer too!:
             | 
             | https://bubblin.io/book/a-florida-sketch-book-by-bradford-
             | to...
             | 
             | > Should we? I spend my life staring
             | 
             | We probably should reduce felling trees for content that's
             | read just once and then it goes outdated. I know a lot
             | pulp-cultivation ambassadors say that it is a renewable
             | resource, but in practicality pulp farming is not entirely
             | renewable.
             | 
             | Cultivation takes place where an old forest once stood and
             | was razed to the ground; and that loss of natural habitat
             | is incalculable in costs-and to what end? A lifeless object
             | on our bookshelf (which too is another dead tree) to show
             | off with more outdated technical content?
        
               | Jtsummers wrote:
               | That demo isn't novel, I've seen that exact same
               | skeuomorphic design in ereaders over the past couple
               | decades. It's pretty, but it's not terribly useful to
               | flip _one page at a time_ in anything but a novel you
               | intend to read linearly, and where you often only need to
               | flip back one or two pages when confusion sets in (wait,
               | which city are they in now? who 's speaking in this part
               | of the dialog?). It's hardly a useful interface for
               | reference or technical material, only a pretty one.
               | 
               | Edit: To be more constructive:
               | 
               | Physical reference books are often accessed in a non-
               | linear fashion, and often not alone. But let's forget
               | that second part and focus on non-linear.
               | 
               | How do people take a physical reference book and provide
               | themselves with good non-linear access? Bookmarks, tabs,
               | dog eared pages, margin notes producing cross-references
               | if absent from the text proper. And they may even
               | sometimes pull out all the bookmarks and tabs and start
               | over to create an entirely different (for their use-case)
               | reference text (by "hiding" irrelevant information).
               | That's what needs to be recreated in an e-reader, not
               | page flipping, to be useful for reference texts.
               | 
               | As a point of frustration I recently experienced, I was
               | running a TTRPG game and had a PDF with bookmarks to
               | various classes (the ones players were using) and spells
               | (ones I was using) and combat mechanics (what I was
               | running). I later used the same PDF as a player, and
               | found that I had too many bookmarks that made it hard for
               | me to find exactly what I wanted. If I just added more
               | bookmarks relevant to me as a player (playing a class not
               | in the game I was running) it would add extra info to the
               | DM version of the reference, and all the DM bookmarks
               | were largely useless to me as a player.
               | 
               | What I _needed_ was a way to get two views of the same
               | underlying text, with different sections emphasized or
               | elided for my differing situations. Provide that in an
               | ereader without having to make a copy of the PDF and
               | manually mangle it (which I 've done too) but rather just
               | an overlay on the existing text and it'll provide a much
               | better experience and start competing, realistically
               | competing, with dead tree reference and technical books.
               | 
               | Of course, the inability to (without a large display or
               | large number of displays) view multiple texts side-by-
               | side is another problem. I don't want 10 e-readers (a
               | guess at the largest number of texts I needed to view in
               | parallel). I have my iPad, laptop, and a Kindle that I
               | already sometimes use simultaneously rather than printing
               | material off or buying physical books. It's painful to
               | use things that way and a much harder to solve problem
               | without insisting that people buy more and more hardware.
               | Which becomes obsolete quickly, probably faster than most
               | reference and technical books become obsolete.
        
               | marvindanig wrote:
               | Wow. Thank you for taking the time to respond at length
               | to the demo I shared. This will help me improve/improvise
               | it a little more!
               | 
               | Overall, there's a lot of work before a book like this
               | goes native on the web. Better still, it the experience
               | is standardized across vendors--which I have attempted as
               | far as possible with the available tech. I mean scrolling
               | is skeuomorphism off of the physical scrolls too, but
               | that's the point of start for a root problem here. Native
               | books have never happened on the web, and that's one main
               | reason why people continue to buy the dead-tree; the lack
               | of availability, bad experience and all.
               | 
               | > Physical reference books are often accessed in a non-
               | linear fashion, and often not alone. But let's forget
               | that second part and focus on non-linear.
               | 
               | The demo does implement random access via page numbers on
               | the tail of the url. This affords both random access i.e
               | non-linear reading and referential accessibility [1].
               | 
               | https://bubblin.io/blog/referential-accessibility
        
             | panzagl wrote:
             | Every time someone posts a book on here someone shows up to
             | bitch about the format and modernization- you should see
             | the crap the 'Game Programming Patterns' guy gets.
        
           | yellowfish wrote:
           | 'as developers' don't speak for me, if you want to sell a
           | book in a different way do it yourself ffs
           | 
           | As a developer I'm buying the physical copy, like I did the
           | previous revision ( which is great btw )
        
             | [deleted]
        
           | ghosty141 wrote:
           | I strongly prefer physical book over digital ones. With an
           | ebook-reader it's fine for novels but technical text books
           | can't be replaced (yet).
        
         | saiojd wrote:
         | Damn, for a second I thought post was because the fourth
         | edition is out. Damn you OP! :)
        
         | mattpharr wrote:
         | Yeah, about that prediction... Progress continues, but Fall
         | 2021 is more likely for an online edition and then printed
         | copies in the first half of 2022. (I suppose we should update
         | the website.)
        
           | ghosty141 wrote:
           | Thanks for the clarification. Cool to see that you are on
           | here too :)
        
       | [deleted]
        
       | brudgers wrote:
       | Table of Contents, https://www.pbr-book.org/3ed-2018/contents
        
       | arduinomancer wrote:
       | Is this book for real-time or offline rendering?
       | 
       | Because I think PBR is used in both now days
        
         | chrsig wrote:
         | PBR describes an offline render. Online renderers will use the
         | same principles for materials -- modelling them as
         | Bidirectional Scattering Distribution Functions (BSDF), though
         | I'm not really sure how platforms like unreal implement them in
         | the absence of full path tracing. I'd love to learn more in
         | that regard.
        
           | djmips wrote:
           | From the user perspective, they are implemented as various
           | texture maps to define base color, roughness, metalness and
           | specular. Base color map is as it sounds. Roughness map is a
           | map that goes from full reflective to dull. In practice it
           | can be calculated similar to and stored the same as Mip Map.
           | Metallic map can go from mirror like to non mirror in
           | degrees. The lesser used Specular map lets you control the
           | specular light property in a non metallic surface. From non
           | reflective to full reflective. Specular is called Cavity in
           | the linked document and also explained as typically an
           | Ambient Occlusion map with a very short distance. "Used for
           | small-scale shadowing."
           | 
           | From the real-time light equation perspective all the details
           | can be found in the 2013 Siggraph talk by Brian Karis of Epic
           | Games. https://cdn2.unrealengine.com/Resources/files/2013Sigg
           | raphPr...
        
       | chrsig wrote:
       | I can't recommend this book enough.
       | 
       | For anyone looking for a more gentle introduction into ray
       | tracing, I'd also suggest The Ray Tracer Challenge
       | (http://www.raytracerchallenge.com/) -- it walks you through
       | building a simple recursive ray tracer in a test driven
       | development manner.
       | 
       | 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.
        
         | mroche wrote:
         | Mentioned elsewhere, there is also Peter Shirley's "Ray Tracing
         | in One Weekend" series:
         | 
         | https://raytracing.github.io/
        
       | jmoak wrote:
       | 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!
       | 
       | Back in college I ended up making my own tracer after reading
       | this for fun, implementing features and tweaking it until I got
       | bored.
       | 
       | Here's some pictures if you're curious to see how it evolved as I
       | made my way through the book:
       | 
       | https://imgur.com/a/e5kgZ
        
       | babuloseo wrote:
       | The chapter on Monte Carlo stuff is pretty good.
        
       | ggambetta wrote:
       | This book is excellent, and it's aimed at relatively advanced
       | practitioners.
       | 
       | > This book assumes existing knowledge of computer graphics at
       | the level of an introductory college-level course
       | 
       | For people looking for such an introduction, I've written
       | Computer Graphics From Scratch, available in its entirety here:
       | https://gabrielgambetta.com/cgfs (and also from
       | https://nostarch.com/computer-graphics-scratch)
        
         | djmips wrote:
         | > This book assumes existing knowledge of computer graphics at
         | the level of an introductory college-level course
         | 
         | It also assumes existing knowledge of calculus and physics.
        
         | 2pEXgD0fZ5cF wrote:
         | Thanks again for your book, I preordered it and started working
         | on it a few days ago! Enjoying it so far.
         | 
         | Would you say that your book and a slight math background
         | (advanced Linear Algebra and Calculus), but no further
         | experience with graphics programming are enough preparation to
         | dive into something like PBR?
        
           | ggambetta wrote:
           | Glad you're enjoying it!
           | 
           | I'm not a PBR expert, but I guess that background should be
           | enough to go for it - and that you wouldn't have much trouble
           | filling up the knowledge gaps you might encounter, if any.
        
       | elteto wrote:
       | 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.
        
         | chrsig wrote:
         | It definitely requires a bit of jumping around. The online
         | version is a godsend in this regard, because it's all
         | hyperlinked.
         | 
         | It also has an index of all identifiers, which I find quite
         | helpful, and the full source code is available as well.
         | 
         | After you spend some time with the book, how the chapters are
         | laid out make much more sense (at least, that's my experience)
        
         | alkonaut wrote:
         | I use it as a reference for various parts of a path tracer. One
         | can also use it to help develop shaders in real-time rendering.
         | It's probably most rewarding if you already made a toy path
         | tracer or two and you wonder how to do it "properly".
        
         | bruce343434 wrote:
         | Even with the background knowledge from Peter Shirley's
         | "Raytracing in one weekend" series it's very hard to get into
         | this book.
        
           | elteto wrote:
           | Gotcha, I'm glad I'm not the only one.
        
       ___________________________________________________________________
       (page generated 2021-07-18 23:01 UTC)