git clone git@github.com:bwzhao/RayTracer.git
git submodule update --init --recursive
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
Right now there are two examples:
- Forward path tracing for a Cornell Box.
- Bidirectional path tracing for a Cornell Box with reversed directions of light.
-
- area light
- point light
- multi light source
-
- path tracing
- bidirectional path tracing
- metropolis light transport
-
- triangle
- mesh triangle
- circle
- rectangles
- sphere
-
- pure color
- image
- noise
-
- Lambertian
- metal
- dielectric
- constant medium
-
References:
- Peter Shirley's famous trilogy of Ray tracing: https://raytracing.github.io
- The PBR book: https://pbr-book.org/3ed-2018/contents
- Advanced Global Illumination 2nd Edition
-
Submodule needed:
- tinyobjloader: https://github.com/tinyobjloader/tinyobjloader.git