Skip to content

eibens/lucifer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

License Deno doc Deno module Github tag Build Code coverage

Results

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.

example with 4 bounces example with 3 bounces example with 2 bounces example with 1 bounces

Future Work

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.

That's it!

Lucifer on GitHub