This is about the design of rendering algorithms, with a focus on photorealism.
- physically based rendering
- optimization with kd trees
- support for obj files
Currently, only linux is officially supported. There are no plans to change this in the future.
Building requires the following libraries
- libpng
- eigen3
- googletest (only needed for tests)
To build the project:
waf configure build
The program will be written to build/release/src/renderer
Example to render a scene:
renderer -p 100 -o output.png scene.obj
This will render the scene defined by 'scene.obj' with 100 samples per pixel. The rendered image will be written to output.png
The scene files that can be loaded are in obj format only. The only alteration made to the format is that the ambient term has be repurposed as the emissive term. Obj format can be handled by most 3d modeling software.
Testing requires googletest.
To build the tests:
waf configure --test build
Debug build
waf debug
The output will be in build/debug/ The executable will be named build/debug/src/renderer