
Final render for this assignment probably. Transmission PDF is just wrong -- I removed the h%n^alpha+1 term and replaced it with 1/8 arbitrary and that made it not bubbly. But thats just a made up number. 13:09 render with 2^20 photons, 5 bounces, 4 monte carlo samples, and 8-128 spp.

Fixed specular PDF, and tried to fix transmission PDF as well, but for some reason my caustic is all bubbly. 1:10 with 2^16 photons used for monte carlo.

Applying caustic map, but without any specular photons--I literally just stop tracing a photon if it ever bounces specularly. Caustic is naturally too bright. But its looking even closer to the example now so thats exciting.

Same as before, but Im also making sure to normalize photon energy so that the same total amount of light energy stays in the scene even if light is absorbed for individual photons. Looks quite close to the example now. Im only missing the caustics maps. 8:47 for this one.

Same as below except that Im only adding from monte carlo bounces from the photon map, not from the photon map itself. But now the caustic has vanished. Ill try adding from my caustics map but I dont know if thats correct either. 6:59.

Added monte carlo global illumination, which just reads from photon map. Render time is 8:24 with 4 monte carlo bounces. It still looks a bit splotchy and the shadows are too dark so I dont know if Im doing it right.

Redid the render for direct+indirect illumination because I had made those changes

Fixed indirect illumination again again, now Im exclusively adding diffuse lobe photons to the photon map. That really helped the refraction ball being so bright.

Corrected version of the last one just indirect illumination, I now apply both info.mult AND info.prob to the color for successive photon bounces. Refractive sphere is still too light because I dont know what to do about absorption for that.

Using photon maps for indirect illumination only. Same settings as below, 59s.

Fixed color scaling issue, I simply wasnt actually multiplying by light intensity despite having a variable for it right there in my photon generation code. Here is 2^24 photons used for direct and indirect lighting. 50s, 5 bounces, 4-64 samples, 8-32 shadow samples.

Photon mapping used for all illumination. 44s render, about 40s of which was just building the photon map. I have 2^24 photons, or about 16M. 5 bounces, 4-32 samples. I am still arbitrarily multiplying irradiance because I cant figure out why its so low. Ill make a Piazza post.

Fixed probabilities, so this is rendering all direct/indirect lighting with just the photons map. 2^24 photons. Im still multiplying irradiance by 256 though, it might be an error with conversion to/from color24? But it still looks a little too dark so who knows. At least it means Im probably off by some constant value.

Result with 2^17 photons --segfaulting if i add any more for some reason-- and multiplying irradiance by 1000 arbitrarily. I dont know why irradiance is so incredibly dark and I have to do that multiplication.

Sample count image for bounceless photon map. Cant figure out the actual colors yet so the main render is super dark, but I thought this looked neat.