Skip to content

This is a path tracer project supporting physically-based rendering with fundamental geometry, materials, light transport, and camera model.

Notifications You must be signed in to change notification settings

ryushinn/Path-Tracer-in-One-Week

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Path Tracer

This is my path tracer implemented under the architecture of Ray Tracing in One Weekend Series v3.2.3,

with features:

  • geometric primitives: box, sphere, triangle, rectangle...
  • materials: Cook Torrance PBR lighting model (diffuse\glossy\specular), dielectric...
  • fog & smoke (constant density)
  • physical camera: depth of field, motion blur
  • multiple importance sampling
  • bounding volume hierarchy
  • multi-thread accelerated rendering with OpenMP

Sample Images

random

final_scene

cornell_box

Build

Clone this repo and enter the directory, then run:

mkdir build
cd build
cmake ..
make

To render sample images, run:

PathTracer cornell_box > cornell_box.ppm

Note that to enable OpenMP, modify CmakeLists.txt to include the flag -fopenmp for gcc, or /openmp for MSVC.

About

This is a path tracer project supporting physically-based rendering with fundamental geometry, materials, light transport, and camera model.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages