The Ray-tracer is a project for ENSTA Course IN204 developped by Clément Laroudie and Antoine Domingues. It will continue to be improved even after the final presentation.
Our Rendering Engine is able to render a scene composed of various 3D objects that can have a range of materials and colours.
The project exports the image to a .ppm file initially, for simplicity.
- The ray-tracer generates images in ppm format. If you do not have applications that can read this file format, you can use an online viewer/converter. We have chosen to use the application for linux ImageMagick (also available for Windows) for its simplicity of use.
- The project has been built with CMake.
You can simply use the make
command to build the project and run the ray-tracer with the default configuration. Other Makefile commands are available for simplicity:
all
: Build the project, run the programme and convert image to png.init
: Clean folders and build the projectstart
: Starts the program with the default settingsbuild
: Initialise cmake and build the project
You can convert the programme result in a format supported by ImageMagick with the following command : make png
(Exemple pour le format png)
If you want to start the project manually, type the following command :
build/ray-tracer apps/config.json
Rendering can be configured from Json files :
- A config.json file for the rendering parameters.
- A scene.json file that represents the scene.
Only the config.json file may be passed to the program as a parameter.
Details of the parameters are detailled here.
We use the clang-format formatter.
Editor must be configured to work with cmake. (with >CMake: Configure
for VSCode with the CMake tools extension).
Project has been configured to be developped using clangd or intellisense linter.