qwikdraw / raytan

Simple Path Tracing Renderer in C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Simple Path Tracing Renderer in C++


Languages

Language:C++ 93.6%Language:Shell 3.5%Language:Makefile 2.9%