Advanced Raytracer in C++
Raytan is a fast raytracer written in C++ with a focus on practical effects. It supports spheres, cones, cylinders, elipsoids, planes, cubes and sheets. It also supports compound shapes that result from addition and subtraction of two shapes.
This is implemented using a distance field algorithm.
The color, material properties (diffuse, reflection, refraction, refractive index) and normals can all be mapped to textures, to allow the creation of realistic 3D sprites that can seamlessly mesh into a scene.
Raytan has a Qt GUI that gives you control over ambient, shadow softness, light samples, recursion level and antialiasing. The GUI allows for the application of various post effects such as cartoon, tint + saturation, motion blur, and edge detection.
- lodepng
- glm
- Qt 5.1
- clang
- Qt's
moc
- make
- pkg-config
Install dependencies, on macOS with brew you can do this with make deps
make
- Logan Kaser
- Theo Walton
- Brendan Pierce