I can't want for full-scene realtime raytracing to hit the consumer market.
I can't want for full-scene realtime raytracing to hit the consumer market.
It's always very cool when simulation behavior starts to resemble real behavior.
A pinhole camera requires zero additional physics, just a simulation of light rays passing through a small hole. A lens just requires Snell's Law - which is pretty much trivial. Adding dispersion is just a matter of using a formula instead of a constant for the refractive index of the lens, and doing the raytracing using random wavelengths instead of a single "composite" one.
Raytracers capable of doing this are implemented in a few hundred lines of code as a toy project. The difficult part is getting it to render quickly - and of course modeling the scene properly.
It wouldn't work under a rasteriser (Blender has one, called Eevee) as those operate using a complex series of approximations of reality that are more difficult to create but run far faster. But because Cycles (slower, but more realistic) operates by mimicking how light works this kind of thing is entirely possible.
(this approach was started by some researchers who basically said 'well, let's make a simple scene for real and measure everything and make our render look identical' https://en.wikipedia.org/wiki/Cornell_box )