Apr 01, 2015
Radiosity
Recently I’ve been making a Radiosity simulator for my Advanced Rendering and Modeling course at Michigan Tech. It’s been an arduous process, riddled with bug crunching and rounding error, but I’m fairly pleased with the results so far.
Those white edges on the bottom of some surfaces will go away eventually. It’s partly because I’m doing this with a low patch resolution, but it’s also an edge-case having to do with how I detect neighboring patches.
It really helped me to make debugging tools for this. Here are some that were particularly helpful.
Normals
Patches - I’m working on getting it to highlight patches in a more distinct pattern than rows. It’s a problem with how I intitially decided to store patches.
Hemicube cells
Hemicube cell trace: hit positions
Hemicube cell trace: hit patches
Hemicube cell trace: rays
One of the big “gotcha” moments was forgetting to normalize the delta form factors on my hemicube. Inevitably they won’t add up exactly to one, so you need to divide each delta form factor by their sum to normalize it, ensuring we don’t have more energy escaping the scene than absolutely necessary.
I'm seriously proud of myself for making such a great set of debugging tools for this.
You're welcome to contact me though.