C# Path Tracer

Overview

As a fun side project when our holiday travel plans got canceled, I decided to write a pure C# path tracer. Initially, I used Windows Forms as the UI and display mechanism, but eventually transitioned to MonoGame and ImGui.

It supports spheres, .obj meshes, materials and textures (with filtering). Ray-triangle intersections are accelerated by scene-level and mesh-level octrees, not entirely unlike TLAS/BLAS structures in real-time ray tracing.

The project can be found on GitHub, though there isn’t much more information there at present.

Sample Images

Video

This is an early video showing the initial Windows Forms UI.