Simple Ray Tracer

This is a ray tracing project in C++ for CS384G Introduction to Computer Graphics.

In this project, I implemented the following features:

  • Basic ray tracing
    • Phong shading
    • Shadow attenuation
    • Reflection
    • Refraction
    • Normal Mapping
  • Polymesh rendering
    • Triangle/face & ray intersection
    • Normal interpolation
  • Antialiasing
    • Adatpive antialiasing
    • Jittered antialising
  • Distribution Ray Tracing
    • Glossy reflection and refraction
    • Depth of field
    • Soft shadow
  • Optimization
    • KD-Tree
    • Multithreading

Following are the rendered artifacts of some scenes: