raywan / rays

Ray's Ray Tracer - A Monte Carlo Path Tracer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rays

Ray's Ray Tracer - A (Forever In-progress) Monte Carlo Path Tracing Renderer

2019/08/08 - Project still needs a lot of work and I haven't worked on it in a while, but I need to open-source this repo for reasons.

Features

  • Currently: 3.2 million rays/second
  • Multi-threaded tile-based rendering
  • Bounding Volume Hierarchy (BVH) as an acceleration structure
  • Procedural texturing
  • Wavefront OBJ file parsing and rendering
  • Lambertian BRDF
  • Stratified sampling
  • Math (vectors, matrices), high-resolution timing, memory arena allocator and more via raywan/rw

Screenshot

  • Suzanne and 3 Spheres (2048spp, max depth of 3)

    3 depth, 2048spp

Building

This project supports Windows, Mac and Linux and uses Ninja for building. There's also a build.bat file for Windows.

python configure.py
ninja

Dependencies

Resources

About

Ray's Ray Tracer - A Monte Carlo Path Tracer


Languages

Language:C 52.2%Language:C++ 40.5%Language:Python 7.0%Language:Batchfile 0.3%