pbrt-v4 early access release

773 views
Skip to first unread message

Matt Pharr

unread,
Aug 19, 2020, 3:30:29 PM8/19/20
to pbrt
We're happy to announce that an early version of the source code to pbrt-v4, the version of pbrt that will accompany the forthcoming fourth edition of Physically Based Rendering, is now publicly available at https://github.com/mmp/pbrt-v4. (Happy SIGGRAPH week!)

This version represents a substantial revision of pbrt, with major new features that include:
  • Spectral rendering
  • State-of-the-art volumetric scattering
  • Support for GPU rendering
  • All new BxDFs and Material models, including scattering layered materials
  • Many other improvements and additions: many-light sampling with a light BVH, a bilinear patch shape, new Samplers, a g-buffer Film that saves additional information at each pixel, and much more...
See the README file for a full list of changes and for information about how to build the system and where to download example scenes.

pbrt-v4 will eventually be thoroughly documented via the book, but in the meantime, we hope that the system will be generally understandable to people familiar with pbrt-v3.  There is also a video walkthrough of the code that gives an overview of changes to the system's organization.

== How can you help? ==

We think that pbrt-v4 will be immediately useful in its own right, but part of why we're releasing it now is to make it possible to find bugs and make improvements to the system before book publication.  While the major features of pbrt-v4 are set, we would particularly appreciate:
  • Bug reports: ranging from crashes to errors in pbrt's implementation, we'd like to hear about them. (Please use the github issue tracker.)
  • Bug fixes: even better than a bug report is a PR with a bug fix, be it for a bug that you found or one from the issue tracker. In the printed book, we'll happily acknowledge everyone who submits bug fixes that we use.
  • Implementation improvements: as mentioned above, we're not adding major new features at this point. However, if you see a better way to implement something (e.g., "if you rewrote this calculation like this, it would be more numerically stable," etc.), we'd love to hear about it.
  • Improving pbrt's portability by getting it to build on additional systems is always appreciated.
  • Example scenes: we'd like to update the example scenes with additional interesting scenes to render; having a variety of them is quite useful, both for pbrt users and also for us as we make figures for the book. Furthermore, we need something amazing to use for the cover image for the fourth edition...
Happy ray tracing!

Matt, Wenzel, and Greg

Jan Walter

unread,
Aug 20, 2020, 5:58:47 AM8/20/20
to pb...@googlegroups.com
Thanks a lot. Rendering and watching the images refine with *tev* is really fun!

Cheers,

Jan

On 8/19/20, Matt Pharr <matt....@gmail.com> wrote:
> We're happy to announce that an early version of the source code to
> pbrt-v4, the version of pbrt that will accompany the forthcoming
> fourth edition of *Physically Based Rendering*, is now publicly available
> at https://github.com/mmp/pbrt-v4. (Happy SIGGRAPH week!)
>
> This version represents a substantial revision of pbrt, with major new
> features that include:
>
> - Spectral rendering
> - State-of-the-art volumetric scattering
> - Support for GPU rendering
> - All new BxDFs and Material models, including scattering layered
> materials
> - Many other improvements and additions: many-light sampling with a
> light BVH, a bilinear patch shape, new Samplers, a g-buffer Film that
> saves
> additional information at each pixel, and much more...
>
> See the README <https://github.com/mmp/pbrt-v4/blob/master/README.md> file
> for a full list of changes and for information about how to build the
> system and where to download example scenes.
>
> pbrt-v4 will eventually be thoroughly documented via the book, but in the
> meantime, we hope that the system will be generally understandable to
> people familiar with pbrt-v3. There is also a video walkthrough of the
> code
> <https://www.youtube.com/watch?v=AXuk7bmhZ2g> that gives an overview of
> changes to the system's organization.
>
> == How can you help? ==
>
> We think that pbrt-v4 will be immediately useful in its own right, but part
> of why we're releasing it now is to make it possible to find bugs and make
> improvements to the system before book publication. While the major
> features of pbrt-v4 are set, we would particularly appreciate:
>
> - Bug reports: ranging from crashes to errors in pbrt's implementation,
> we'd like to hear about them. (Please use the github issue tracker
> <https://github.com/mmp/pbrt-v4/issues>.)
> - Bug fixes: even better than a bug report is a PR with a bug fix, be it
> for a bug that you found or one from the issue tracker. In the printed
> book, we'll happily acknowledge everyone who submits bug fixes that we
> use.
> - Implementation improvements: as mentioned above, we're not adding
> major new features at this point. However, if you see a better way to
> implement something (e.g., "if you rewrote this calculation like this,
> it
> would be more numerically stable," etc.), we'd love to hear about it.
> - Improving pbrt's portability by getting it to build on additional
> systems is always appreciated.
> - Example scenes: we'd like to update the example scenes with additional
> interesting scenes to render; having a variety of them is quite useful,
> both for pbrt users and also for us as we make figures for the book.
> Furthermore, we need something amazing to use for the cover image for
> the
> fourth edition...
>
> Happy ray tracing!
>
> Matt, Wenzel, and Greg
>
> --
> You received this message because you are subscribed to the Google Groups
> "pbrt" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to pbrt+uns...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pbrt/CAO4dBWR%3DZcVeTjhY%2BZsoPwqiL4aCRkmeTAYHrULULH0Tt%2Bw07A%40mail.gmail.com.
>

Marshall Ross

unread,
Aug 21, 2020, 1:40:00 AM8/21/20
to pb...@googlegroups.com

Anyone having trouble using the --upgrade command in version 4 on a .pbrt file?  I might be set up wrong, but it doesn't seem to recognize the ">" argument in the command line.  I'm a bit of a hack when it comes to programming, but I got the project to build in Xcode, and it'll parse the first file, but get hung up the > token.  If I strip out the >, so something like this: pbrt --upgrade old.pbrt new.pbrt,  it just parses the first file and can't find the second unless I stub in a second file to begin with, and then it'll just parse both, and exit without doing any conversion.  


>

--
You received this message because you are subscribed to the Google Groups "pbrt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbrt+unsub...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/pbrt/CAKXUb-CkyHzL7xpG167Rx_ezDTfyGz2UeYxCh3CRn1gy8jdE8A%40mail.gmail.com.

Enrico Zschemisch

unread,
Aug 21, 2020, 3:51:45 AM8/21/20
to pb...@googlegroups.com
That part works fine here (macOS Big Sur and Catalina).
Built pbrt-v4 from the command line/Terminal though and am using it from there.

What doesn't work with the --upgrade option is certain materials, e.g.
"fourier" from v3 doesn't get replaced with something valid.

Enrico
> > email to pbrt+uns...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/pbrt/CAO4dBWR%3DZcVeTjhY%2BZsoPwqiL4aCRkmeTAYHrULULH0Tt%2Bw07A%40mail.gmail.com.
>
> >
>
> --
> You received this message because you are subscribed to the Google Groups "pbrt" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pbrt+uns...@googlegroups.com.
> --
> You received this message because you are subscribed to the Google Groups "pbrt" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pbrt+uns...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pbrt/612157270.5364307.1597988394335%40mail.yahoo.com.

Marshall Ross

unread,
Aug 21, 2020, 4:51:50 AM8/21/20
to pb...@googlegroups.com
Hmm...I'm using Xcode editor with the command line arguments passed through the scheme window in debug mode.  Maybe I'll try a regular build.  

On Friday, August 21, 2020, 12:51:44 AM PDT, Enrico Zschemisch <ezsc...@gmail.com> wrote:


That part works fine here (macOS Big Sur and Catalina).
Built pbrt-v4 from the command line/Terminal though and am using it from there.

What doesn't work with the --upgrade option is certain materials, e.g.
"fourier" from v3 doesn't get replaced with something valid.

Enrico



--
You received this message because you are subscribed to the Google Groups "pbrt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbrt+unsub...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/pbrt/CABcEBXqYxV5SwPxEkBKF0FJSqTB-oB0gnctTX4b74%2Bo8L2iwNw%40mail.gmail.com.

Jim Price

unread,
Aug 29, 2020, 7:54:47 PM8/29/20
to pb...@googlegroups.com
Howdy all,

For those of you that maintain either public or private exporters for pbrt I've put together a list of scene description changes between pbrt-v3 and pbrt-v4. Hopefully this will aid in the transition. You can find the list here -

Since pbrt-v4 is still changing expect for the list to lag slightly behind, but if you see anything wrong feel free to let me know via email or github issue.

Thanks Matt for pointing out some of the changes that I missed on my first pass of the list!

Happy exporting. :)

jim
Reply all
Reply to author
Forward
0 new messages