@thomasaull
Hello, thanks for posting! Yes I have been following Garrett’s BVH project, and now path tracer project, for several months now. I’ve got a lot of respect for him - he really knows his stuff, especially the lower level side of things (working at NASA JPL and all!).
It’s interesting, he and I took almost opposite paths to get path tracing working in the browser. I took the more performance, real-time approach, inspired by Jacco Bikker’s Brigade series (1, 2, and now 3.0) of real time Path Tracers. I started out path tracing the usual simple math shapes, then eventually gave in and made a BVH so I could start rendering triangle models.
Garrett, on the other hand, started with a BVH in place, then he began trying path tracing, ha. Also, whereas my style of project is first person fly/walk camera, his is the more traditional renderer, with an orbit camera, orbiting around the triangular model at the center of the scene. I have just a few surface materials, in order to keep 30 to 60 fps on any device, whole Garrett has implemented full support for loading PBR materials and their associated material maps.
If he is successful in his next step, which is to add support for light map and AO map baking and texture creation, I will recommend that everyone who wants that with three.js or Babylon.js (pre- light map baking through path tracing, that is) to use his renderer over mine, as he has successfully gotten full PBR materials and multi materials going already.
Thanks for mentioning his call to action to help make an adapter for BJS. I’ll take a look at his source, and see if maybe I can add something, or maybe point him toward my BJS path tracing renderer, because I’ve had some great help from the amazing BJS community here on this forum. I couldn’t have got it working without your help. But we’ll see what I can offer him, because he’s already got a lot going on!