this is the best resource I’ve ever found; it explains the abstract concepts (turning a PDF into a CDF, etc.) but also walks through actual code
I don’t learn things from videos but I learned so much from this one
this is the best resource I’ve ever found; it explains the abstract concepts (turning a PDF into a CDF, etc.) but also walks through actual code
I don’t learn things from videos but I learned so much from this one
after getting the refraction math sorted out, I brought that over to the main renderer and it… is looking pretty good! for comparison, here’re the original concept renders (from this post):


the cool thing is: this one’s real time! each of those renders took several minutes; this one, at the resolution I need to run it at, is under 12 milliseconds. I’m proud of that, and it even leaves some headroom to make it fancier. computers can be bad sometimes but when they’re good they are pretty fucking good.
been working on adding refraction to my real-time path tracer. harder to figure out than reflection both because the math is weirder and because it’s really hard to eyeball—if your brain sees light bending at all it goes “yeah that looks reasonable”, which means it’s hard to know whether you did it right. from some test renders I’m pretty confident this is correct-enough though.
the reference that helped me finally nail this down was a presentation explaining an otherwise cryptic mini pathtracer called smallpt. thank you, internet.
I was doing something foolish in the reference path tracer: using noise textures that looped after a while. that’s not good if you want it to converge (i.e. get less noisy) because eventually it’ll just loop around to taking the same samples again. switched it over to actual random values and it looks way better now.