Skip to content

v-kuu/Raytracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software raytracer written in C++

Utilizes SDL3 to handle window management, keyboard input etc.

Work in progress

Example: Blinn-Phong shading without and with normal maps

Installation (Linux)

Clone the repo wherever and then in the repository root:

cmake -B build
cmake --build build -j4

You will then find the binary in the build directory:

./build/raytracer

Keybinds

ESC to exit, WASD to move camera left/right/up/down, arrow keys to turn camera, RF to move forward/backward

Features

  • Spheres and triangles
  • A thread pool to distribute rendering to multiple threads
  • Bounding volume hierarchy (BVH) to group objects in a scene to drastically cut ray intersection tests
  • Shading uses Blinn-Phong reflection model
  • Quaternions for camera rotations
  • Textures and normal maps

Todo

  • PBR approach
  • Handle multiple lights
  • Full SAH for BVH
  • Scene files and parser
  • Soft shadows
  • GPU

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors