A 3D Renderer written in C++. Loads and displays STL files in a variety of modes, including:
- Wireframe
- Triangle rasterization
- Raytracing
- Ambient occlusion
- Path Tracing
Also supports:
- Smooth shading
- Atmospheric scattering
- Limited texture support
- Multithreading
- Depth of Field
Planned Features:
- Bi-directional path tracing
- Metropolis Light Transport
- Sub-surface scattering
- Spectral rendering
TODO:
- refactor to use RAII where possible
- have scene own all data
- move semantics for mesh's