Skip to content

Criss-Ivana/Offline-Ray-Tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPU-based Offline Ray Tracer

A small ray tracer: an entry point into rendering and graphics programming. It focuses on fundamental ray tracing concepts implemented from scratch, serving as the first step toward real-time rendering with OpenGL and GPU-based ray tracing.


Features

  • Ray-sphere and ray-quad intersection
  • Recursive ray tracing with configurable max depth
  • BVH acceleration structure
  • Lambertian, Metal, and Dielectric materials
  • Diffuse light sources (emissive materials)
  • Procedural textures (checker, Perlin noise)
  • Image textures
  • Volumetric fog (constant medium)
  • Depth of field
  • Motion blur
  • Anti-aliasing
  • Object transformations (rotation, translation)

Build & Run

# Clone the repository
git clone https://github.com/Criss-Ivana/Offline-Ray-Tracer.git
cd Offline-Ray-Tracer

# Build the project
make

# Run the raytracer to generate an image
make run

Gallery


This project was a lot of fun, highly recommend!

About

Making pretty pictures with C++ and math. My simple offline ray tracer.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors