Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JamesGriffin/Path-Tracer
Simple monte carlo path tracer in C++
https://github.com/JamesGriffin/Path-Tracer
Last synced: 3 months ago
JSON representation
Simple monte carlo path tracer in C++
- Host: GitHub
- URL: https://github.com/JamesGriffin/Path-Tracer
- Owner: JamesGriffin
- License: gpl-2.0
- Created: 2015-02-26T23:51:57.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-09-17T09:55:16.000Z (about 2 years ago)
- Last Synced: 2024-04-24T20:07:54.797Z (7 months ago)
- Language: C++
- Size: 31.6 MB
- Stars: 138
- Watchers: 13
- Forks: 28
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Path Tracer
Simple monte carlo path tracer in C++.
## Features
- Mesh Rendering
- Obj Model Import
- Textures (PNG only at the moment)
- Simple naive KD tree for meshes.
- Diffuse, specular, and emission material types
## Compiling and Running
Requires cmake and OpenMP for multithreading.Compile:
```
$ mkdir build
$ cd build
$ cmake ..
$ make
```
Run:
```
$ ./pathtracer
```
This will render the Stanford Dragon scene which is included.
Take a look at src/main.cpp to see how to create a scene and import objs.## Sample Images
![Dabrovic Sponza](doc/example_renders/sponza.png?raw=true "Dabrovic Sponza")Dabrovic Sponza - http://hdri.cgtechniques.com/~sponza/files/
![Stanford Dragon](doc/example_renders/dragon.png?raw=true "Stanford Dragon")
Stanford Dragon - http://graphics.stanford.edu/data/3Dscanrep
![Stanford Lucy](doc/example_renders/lucy.png?raw=true "Stanford Lucy")
Stanford Lucy - http://graphics.stanford.edu/data/3Dscanrep
![Cornell Box](doc/example_renders/cornell.png?raw=true "Cornell Box")
Cornell Box