JPBRT is a partial Java port of pbrt-v2, the physically-based rendering toolkit presented in the book "Physically Based Rendering, 2nd Edition; From Theory To Implementation" by Matt Pharr and Greg Humphreys; Copyright 2010; Morgan Kaufmann.

I created this port for scientific purposes. The port currently only encompasses a few core classes of pbrt-v2 and a small number of implementation classes. The only thing JPBRT can do right now is rendering spheres, cylinders, cones, disks and paraboloids with a matte material and constant texturing using the "Whitted" integrator.

For most parts, the port closely follows the book. The biggest deviations are in the parser for the PBRT file format (which is a "hand-made" parser in this port and not a generated one), and in the avoidance of global states (such as avoidance of api.cpp), allowing to render multiple scenes simultaneously in the same Java virtual machine.

References to book pages are given in many places in the code, which should help you to find your way around this Java port. References are given to both edition of the books, where applicable.

The source and binary distributions of this port include a graphical user interface which is not part of the original pbrt-v2. I built the user interface on top of the JHotDraw 7 application framework and the Quaqua Look and Feel.

### References

- M. Pharr, G. Humphreys. (2010). Physically Based Rendering, 2nd Edition. Morgan Kaufmann.
- M. Pharr, G. Humphreys. (2004). Physically Based Rendering. Morgan Kaufmann.

### Links

- pbrt-v2: http://pbrt.org/
- JPBRT: http://www.randelshofer.ch/JPBRT/
- JHotdraw 7: http://www.randelshofer.ch/oop/jhotdraw/
- Quaqua Look And Feel: http://www.randelshofer.ch/quaqua/

### License Terms

Like the original code of pbrt-v2, JPBRT can be licensed under the GNU General Public License, either version 2 or (at your option) any later version.

The additional user interface code, JHotDraw 7 and the Quaqua Look and Feel can be licensed under the same terms or alternatively under one of the following terms:

- GNU Lesser General Public License, with the version of your choice.
- Creative Commons Attribution, with version 3.0.