A very simple ray tracer written from scratch in C
The current output file format is BMP - very simple and straightforward for implementation from scratch.
Etheray supports tracing
- Sphere
- Plane
- Triangle
by using a combination of geometric and analytic solutions.
The scene renderer uses a single light source and Phong to calculate the shading and ligting model, as of materials only a Reflective material is supported as the Refractive is WIP.
Reflective depth is implemented to allow fine-tuning reflection bounces for more accurate color distribution.
Etheray supports four different methods of distributing the ray inside of a single pixel
- Centered - a single ray passing through the center of the pixel
- Distributed - N evenly distributed rays accross the pixel
- Jittered - TBD
- Random - N randomly distributed rays accross the pixel