moepforfreedom / GI_Raytracer

A simple path tracer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

A simple raytracer written in C++

Features

  • Global Illumination via path tracing
  • Reflection, refraction
  • Area lights and soft shadows
  • Adaptive quasi monte carlo sampling based on halton sequences
  • Reflective and refractive caustics using photon mapping
  • Several types of primitives including spheres, cones, triangles, boxes, etc.
  • Simple materials with support for phong shading, diffuse/emissive maps
  • Image-based and procedural textures
  • Atmospheric effects such as fog and clouds
  • Suport for importing OBJ meshes
  • Octree-accelerated ray intersections
  • Multithreading using OpenMP

Requirements

  • cmake
  • qt5

Building

  cd <project-root>
  mkdir build; cd build
  cmake ..
  make

Usage

  ./global-illu <scene file>

About

A simple path tracer

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 94.2%Language:Shell 4.7%Language:CMake 0.9%Language:C 0.3%