Skip to content

mujpao/Raytracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raytracer

A basic raytracer supporting diffuse, metal, and dielectric materials, textures, and Phong shading.

Features

  • Materials
    • Diffuse
    • Metal
    • Dielectric
    • Phong
  • Textures
    • Image textures
    • Perlin noise textures
    • Normal maps
  • Import camera and objects from a file using Assimp (works best with .gltf files)
  • Bounding volume hierarchy
  • Multithreading

Example Renders

random sphere scene

Random sphere scene from Ray Tracing in One Weekend

cornell box

Cornell box with 600 samples per pixel

owl model

Imported owl model

dielectric example

Dielectric and diffuse materials

Build Instructions

Requires

Build

git clone https://github.com/mujpao/Raytracer.git
cd Raytracer
mkdir build
cd build
cmake ..
cmake --build .

Usage

See examples folder.

TODO

  • Support different image formats
  • Physically-based materials/lights
  • Read lights from file
  • Environment maps

Resources

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published