Ray Tracing Renderer

Computer Graphics | Processing

Implemented a ray tracer from scratch as part of my Advanced Image Synthesis course by Prof. Greg Turk. Ray tracing is a rendering technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects. This was a semester long project.

Features of the implemented ray tracer include:

  • Instancing
  • Spheres, Triangles, Polygons
  • Basic Transformations – Translate, Scale, Rotate
  • Lights – Point Light, Disk Light, Ambience
  • Soft Shadows
  • Anti-aliasing
  • Motion blur
  • Depth of Field
  • Lens
  • Non-uniform transformations
  • Distributed Ray Tracing
  • Acceleration Data Structures – List, Bounding Volume Hierarchy
  • Procedural Textures using Perlin Noise and Turbulence – Stone, Wood, Marble

Links: Code Repository

Some of the rendered images are shown below. <Add final image>

t01 t07  t02t06t06 t04  t09 t07t09

 

t10  t01 t04 t03 t02