Ray Tracer

C++   |   OpenGL

This is my implementation of a recursive ray tracer, developed in OpenGL for my graphics course during Fall 2018.

The ray tracing occurs in RayScene.cpp. The various shape files implement parameterized tessellation of a cube, cylinder, cone, and sphere, and the vertices and attributes including surface normals are stored in vertex buffer objects. The implicit shape files are used in the ray tracer to implicitly define the same solids, to determine ray intersection points, surface normals, and UV coordinates.

Functionality

  • reflection
  • texture mapping
  • specular highlights
  • shadows
  • directional lighting
  • light attenuation

Code is password-protected. To request access, email me at nlahlaf@gmail.com