Type or Client: School project

Development time: 3 weeks with 3 teammates

Target: Computer

Technologies used: C, HTML, CSS, PHP

This ray tracing application has been developed at school in less than 3 weeks with 3 other students. We all worked on three different parts for this project.

First of all, we began the project by doing some research about current ray tracing solutions, mathematical formulas about lighting and shadows, light reflection / refraction, and shapes equations.

Short video made with our website

In the second part, we developed the application using the C language. We separated the project into many different parts so we could make a first working solution, then add as many functionalities as we could in our short deadline.

The last part was to automate this application by creating a website that allows us to set all the parameters we want, and run the program many times to create a video. We used FFMPEG to create the video and PHP/HTML/CSS for the website system.

We also got a lot of unexcepted results while we worked on this project and here are a few exports we made. Some of them were even looking like fractals!

The user is able to change all parameters in a single file that contains every scene information like camera position, direction, resolution, and type (perspective or orthographic), and scene objects/lights.

One of the functionalities we were not able to do because of our deadline was the 3D model importer. Right now, we can only import spheres, lights, planes, and polygons with 3,4, or 5 sides, however at the beginning of the project we wanted to be able to import custom and complex 3D models.