Skip to content

agordeevw/pathtracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pathtracer

Implementing Peter Shirley's raytracing books.

Building

Project requires installed CMake and Conan package manager.

Run these commands from root directory:

mkdir build
cd build
conan install -s build_type=Release ..
cmake ..
cmake --build .

Progress:

"Raytracing in One Weekend"

Done.

Final result:

RTIOW-final

"Raytracing: The Next Week"

In progress.

Motion blur + BVH:

MotionBlur-BVH

Slightly flawed method of scene generation resulted in two spheres right at the center merging together. Rendering this image with 512 samples per pixel using BVH took ~1000 seconds on my laptop's CPU (i5-4200U). Also glass spheres confuse me :|

Debug scene + scene loading from JSON:

DebugScene+SceneLoading

Implemented simple scene loader from JSON description files. Now I don't have to recompile when I want to slightly modify a scene. Less compilation - more happy feelings :)

Procedural textures (start) + 3D checker pattern

3D-checker

3D-checker pattern works by combining two procedural textures. Right now only constant and checker textures are implemented. Scene description loader should check that texture references digraph is acyclic.

Noise + procedural texture using the noise

Noise

Implemented procedural Perlin noise and weird procedural texture.

Image textures

Image texture

Implemented image textures.

Light source + Tone mapping

LightSource+ToneMapping Desaturation

Implemented light sources. Because light source can be bright enough so that resulting pixel color components can reach values higher than 1.0, I had to add simple tone mapping. I wasn't satisfied with the result, so I tried another approach with desaturation.

"Raytracing: The Rest Of Your Life"

Pending.

About

Implementing Peter Shirley's raytracing books

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors