I did fix a bug in the sampler code of rs_pbrt, so now I get a nearly perfect match between the C++ and Rust version. The remaining (5 of 65536) pixels which render differently, are probably caused by the usage of HDR (OpenEXR) on the C++ side.
There are a couple of things I could do the rest of the week:
- Add another sampler (see issues #9)
- Implement another accelerator (see issue #4)
- Fill in some gaps in the documentation.
- Work on another test scene.
I probably go for the last item, and create a Cornell Box for PBRT. I do have a Python script for Blender which allows me to export in various renderer related scene description file formats:
One of them is for Luxrender, which is based on an earlier version of PBRT, so that should be doable. To get the direct lighting working I probably just have to work on the area light code for meshes. Global illumination (GI) would be the next step, but that’s too much for this week