We got trouble. Lighter2 is struggling with this new Sponza scene. This is not unexpected, I did want something that would push it to it's limits but I didn't want it to error. I wanted it to be able to complete the job eventually, just not necessarily efficiently.
We are, however, getting several errors:
- Lighter2 fails to halt (seems to be stuck in an infinite loop) if light mapping is enabled for the dense Stanford models. This can be worked around by enabling per-vertex colors for these models and this is probably preferable anyways as the vertices are quite dense. Regardless, the failure to halt error is a problem and one that may need to be addressed in the future.
- Per-vertex lighting has the infamous raytracing black-speckles. This happens when a ray bouncing off an object is allowed to intersect with itself. Due to floating-point error the intersection might occur immediately making the surface seem to be in shadow when it isn't. This is a smaller error and one that can be addressed with a little tweaking of the ray intersection algorithm. For now, there is an option to disable self-shadowing on a per-mesh basis that will hopefully address this.
- Some lights are being completely ignored. They produce no light when raytracing and no photons when photon-mapping as if they weren't even there. There are a total of 10 lights in the room which is unusually high but still, when ray-tracing and photon mapping there is no reason to leave out lights (at least for the final light map calculation when speed is not important). This must be an error somewhere and one that I will need to address.
So, this is why there are no light mapped pictures yet. I'm going to work through these problems (at least, the last two in particular) before I post anything and I may change the configuration of the room lighting slightly so the shadows are more dramatic. I will keep things updated as I work.
Oh, I almost forgot to mention, the spotlights are working with photon mapping. So, I think we can check that one off. It might need some robustness testing (in particular, I haven't checked the full range of angles) but for now, the basics are implemented and working in the sponza scene.
It's worth noting that school has started back up again so things might slow down a bit but as of right now I am un-funded for this semester so there is not much distraction yet (just a lot of worry). :-(