OptiX-Based Ray Tracer

Overview

  • Period: December 2024
  • Type: Personal project
  • Objective: Implement a ray tracer with the OptiX API and support dynamically updated objects.

Implementation

  • Ray traced OptiX built-in primitive types, including triangles, spheres, and axis-aligned bounding boxes.
  • Implemented custom intersection routines for cones and cylinders.
  • Applied reflection, refraction, and shadow effects through ray tracing.
  • Applied physically based rendering shading.
  • Implemented instancing and rendered multiple instances of the same object.
  • Loaded glTF files and rendered triangle-mesh data.
  • Updated dynamic objects and reflected their changes in the ray-tracing acceleration structures.