https://hgpu.org/?p=1732
Casting Shadows in Real Time