[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)