Skip to content

sdao/path-tracer

Repository files navigation

path-tracer

Little global illumination Monte Carlo path tracer

Ready to build on either Windows or Linux

This repository includes submodules. In order to get everything when you clone, add the --recursive flag.

Build Status

Dependencies

These are the dependencies on both Windows and Linux:

On Linux, Intel TBB is required:

Windows Build (Visual Studio)

You will need VS 2015 because the project uses C++11 language features only available in VS 2015+.

Eigen, Boost, and the Open Asset Import Library can be obtained from NuGet; the project should automatically update the packages on first load. TinyExr is included in the project as a Git submodule and you will get the master version when you clone this repository.

You will need to install Embree separately by running the Windows x64 installer from their downloads page. The solution will look for Embree at $(ProgramW6432)\Intel\Embree v2.7.1 x64, the default installation location for Embree 2.7.1. (Note that $(ProgramW6432) is the VS macro for the 64-bit Program Files directory.)

If you install a different version of Embree or you install it at a different location, edit the PathTracerDependencies.props file at the root of the repository to point to your Embree installation.

Linux Build (Makefile)

You should build using g++. Using clang++ is not guaranteed to work.

You will need to get the development versions of eigen3, assimp, boost, and tbb from your package manager (e.g. from apt-get or from dnf). TinyExr is included in the project as a Git submodule and you will get the master version when you clone this repository.

You will need to install Embree separately from their downloads page. Red Hat-based users can use the RPM installer; Debian-based users should get the tarball.

Reference

Some of the comments make reference to Pharr and Humphreys' text Physically Based Rendering, 2nd edition (Morgan Kaufmann, 2010). This excellent resource describes the pbrt renderer in a literate programming style.

My renderer is also influenced by Kevin Beason's smallpt path tracer.

Renderings

Cornell box

Spheres with depth of field

About

Little global illumination Monte Carlo path tracer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages