Lucifer is a CPU ray-tracer implemented in TypeScript for Deno. It is a direct translation of raymancer, which is an earlier ray-tracer of mine written in Kotlin.
These images were generated with dimensions 512 x 512
pixels and decreasing
number of ray bounces (from 4 to 1). With fewer bounces, reflections become less
and less sophisticated.
This project is still very much work in progress and a lot could be improved:
- Add controls for image size and depth.
- Indicate rendering progress.
- Allow non-square images.
- Move rendering to service-worker.
- Optimize performance / move to GPU.