Skip to content

A raytracer based on books of Peter Shirley with multithreading

License

Notifications You must be signed in to change notification settings

GonnaFlyMethod/raytracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

raytracer

This is a raytracer based on the book Raytracing in one weekend. By implementing the ideas & concepts from the book, I'm teaching myself how do raytracers work in practice and what underlying principles and math are used to create cool looking scenes.

Rendered spheres:

Building the project

This project uses cmake as a build system. CMakeLists.txt should be utilized to generate cmake-related directory. For example, CLion IDE offers to pick the path to CMakeLists.txt at the beginning of work:

CMakeLists.txt is located in src/CMakeLists.txt

Evolution of my journey:

A scene without antialiasing:

Antialiasing upper right neighbours:

Antialiasing all neighbour pixels:

Diffuse materials gamma correction:

Hemispherical scattering:

True lambertian reflection:

Metal with lambertian:

Fuzzed metal:

Depth of field effect:

Rendered spheres:

Motion blur:

Checker texture:

Earth texture mapping:

Perlin texture(noise version):

Perlin texture(gradient version) with turbulence and sin(x) phases:

Quads:

Triangles:

About

A raytracer based on books of Peter Shirley with multithreading

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages