I built a C++ ray tracer from scratch and progressively improved it over the course of a semester at DigiPen. It supports numerous shapes, reflection and refraction for various surface materials, and additional rendering modes. Shadows, soft-shadows, and anti-aliasing features are available too. The UI and renderer run in separate threads, so any part of the rendering process can be toggled mid-render.
Features
- Rendering and UI in separate threads
 - Flat shading
 - Depth rendering
 - Normal vector rendering
 - Reflection
 - Refraction
 - Soft shadows
 - Anti-aliasing
 - Custom orthorhombic pyramid shape
 






