RGKrt

Photorealistic physically-based renderer I initially wrote for photorealistic graphics course and improved afterwards.

Main features:

  • Bidirectional path tracing
  • Uses efficient data structures
  • Multisampling using various sample generators
  • Depth of field
  • Various BRDFs built-in: Phong, Cook-Torr, Beckmann, GGX
  • Refractions, reflections, caustics
  • Areal (surface) lights
  • Environmental map support
  • Linearly Transformed Cosines
  • Supports bumpmaps and normal maps
  • Non-interactive runtime (batch processing)
  • Simple and transparent input file format
  • Preview mode, very basic support for animations
  • HDR output in openEXR format

Currently it runs only on Linux. Source code is available on Github.

RGKrt is written in C++14 and it uses assimp, png++, glm, libjpeg, ctpl and openEXR libraries.

Example renders:

Dragon sponza render
360 interactive view360 rendered animation


Sponza sunny Sponza cloudy
Sunny
Cloudy
Above images use the same input, with only lighting conditions changed (click to enlarge).

Standard sponza
Smooth stone sponza render
Using LTC GGX BRDF to simulate smooth polished stone.

Caustics Caustics2
Sibenik Glass teapot
Envmap bump floor render
360 interactive view360 rendered animation
Cornell box Conference room