Skip to content

yatiyr/AdvancedRayTracerCPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ADVANCED RAY TRACER PROJECT

This project was implemented during Spring 2020-2021 for Advanced Ray Tracing course. We first started with basic intersections and got simple images but after a while, we have studied more advanced techniques and our rendering results got a lot realistic.

I first tried to implement this project with GLSL compute shaders but failed to follow the homeworks on time. So when I saw that it was tackling my progress, I immediately implemented a CPU version and carried on from there (This happened after 2nd Homework).

At the end of the semester, I have a pet ray tracer as a programmer :D. I want to thank to our professor Ahmet Oğuz Akyüz for this amazing course and also to my classmates (I've learnt a lot reading their blog posts).

Feature list:

  • Parallelism with C++ Async/Future
  • BVH trees for mesh intersections
  • Diffuse, Dielectric, Conductor materials
  • Multisampling
  • Motion Blur
  • Glossy Reflections
  • Depth Of Field
  • Texture support
  • Procedural Textures and Perlin Noise generator
  • Advanced Lighting (Directional, Point, Area, Environment, Spot lights)
  • HDR imaging and tone mapping
  • BRDF models
  • Object lights ( Light meshes and Light spheres)
  • Path tracing support

During the course we recorded our progress with blog posts, mine is here :

My Blog Posts

Cornellbox scene with diffuse spheres
drawing
Rendered in approx. 3 hours
Cornellbox scene with diffuse a glass sphere
drawing
Rendered in approx. 6 hours
Veach Ajar Scene
drawing
Rendered in approx. 1 day 8 hours

About

I had some problems in the GPU part, so I will carry on with CPU part as a backup

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published