Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 1.47 KB

README.md

File metadata and controls

36 lines (29 loc) · 1.47 KB

Raytan

Advanced Raytracer in C++

About

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.

Screenshots

gui animation gif post-processing gif sprite in scene

Dependencies

  • lodepng
  • glm
  • Qt 5.1

Building

Requires

  • clang
  • Qt's moc
  • make
  • pkg-config

Instructions

Install dependencies, on macOS with brew you can do this with make deps

make

Authors

  • Logan Kaser
  • Theo Walton
  • Brendan Pierce