https://github.com/ryushinn/path-tracer-in-one-week
This is a path tracer project supporting physically-based rendering with fundamental geometry, materials, light transport, and camera model.
https://github.com/ryushinn/path-tracer-in-one-week
physically-based-rendering raytracing rendering
Last synced: 8 months ago
JSON representation
This is a path tracer project supporting physically-based rendering with fundamental geometry, materials, light transport, and camera model.
- Host: GitHub
- URL: https://github.com/ryushinn/path-tracer-in-one-week
- Owner: ryushinn
- Created: 2022-06-06T00:51:48.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-13T20:32:11.000Z (over 3 years ago)
- Last Synced: 2025-03-25T01:43:06.423Z (about 1 year ago)
- Topics: physically-based-rendering, raytracing, rendering
- Language: C++
- Homepage:
- Size: 3.48 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Path Tracer
This is my path tracer implemented under the architecture of [Ray Tracing in One Weekend Series v3.2.3](https://raytracing.github.io/),
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



# Build
Clone this repo and enter the directory, then run:
```bash
mkdir build
cd build
cmake ..
make
```
To render sample images, run:
```bash
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.