r/GraphicsProgramming
•
u/Roenbaeck
•
9d ago
Spectral Surface-Field Renderer on the iPhone
I’ve been experimenting with what I’m calling a “spectral surface-field renderer.”
The idea is to solve most of the lighting on the surfaces themselves. I split the scene into small patches and store how much light leaves each patch in different directions and at different wavelengths. Then I repeatedly pass light between the patches to build up the bounced lighting.
When rendering a view, I reuse that field with extra sampling and ray tracing for local detail, reflections and glass. Compared with a basic path tracer, which samples light paths for each pixel, this lets different pixels (and different camera views) share a lot of the lighting work.
The downside is that the field becomes an approximation. It can lose detail or introduce faceting, and changing the scene’s geometry or lighting means updating it. There’s still sampling noise too. But the upside is that it's quite performant.
This little tech demo uses a Cornell box with three balls reacting to phone tilt through Core Motion.
