I'll cut the philosophy and cut to the trace—this thing was an absolutely terrible idea
in retrospect. Who would be such an idiot as to write a raytracer that runs serverside, in an interpreted language
built upon another interpreted language? Yup. That would be me.
While I may not work on this anymore because the codebase is a mess and rendering now is just way too slow, I still showcase
it here because of the incredible journey it took me on. From the very beginning, where simultaneous reflection and transparency
forced me to truly tackle recursion for the first time, to the very end, where I learned nearly every render I'd done used only naive
guesses as to how light really behaves in real life. Without these renders, I would never have created this portfolio to show them
and other my amazing projects to the world.
Godsend, E2 Raytracer. You will never be forgotten.
Special thanks to @Speedeo (bitmaps) and
@Vurv (pnglib) for helping me encode my traces into mostly-to-spec image formats.
The gallery below would be empty if not for their help!
(Click the left or right sides of the image carousels to browse them.)