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.
Main ViewShadow, reflection and refraction effects are applied and supports triangle, sphere, aabb, cone, cylinder intersection.
InstancingThe result image after applying instancing.
Dynamic UpdateThe result image after applying dynamic update.