Recurse Center F2'21
During my recent Recurse Center* retreat, I worked on code craftsmanship and experimented with a variety of software engineering concepts. One tangent led me to writing a ray tracing engine.
In the course of exploring photorealistic image generation for movies and games, I discovered that the practical execution of algorithms which simulate realistic (physics-based) illumination is made possible by phenomenal advances in dedicated hardware (supported by machine learning).
My ray tracer simulates in-scene light interactions, including diffuse surface scattering (Lambertian) and reflection/refraction (Fresnel, computed recursively). The code (Python) is not performance optimized, nor architected to leverage GPU capabilities. I nonetheless got a rapid fire intro to real world implementations of ray and path tracing - and there is some extremely cool research in that space!
Realistic images at high frame rates for games rely on innovative approaches stitched together to meet stringent technical constraints, and exquisite animations and special effects in movies are made possible by a combination of advanced hardware and software supported by dedicated computer clusters (aka render farms). And both applications depend on sophisticated GPU platforms optimized for ray tracing. In the hands of skilled artists, this incredible technology generates delightfully photorealistic images and animations.
I've previously written about gaming aging on Substack and about medical imaging - with and without AI - on Medium.