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.
- Rendering and UI in separate threads
- Flat shading
- Depth rendering
- Normal vector rendering
- Soft shadows
- Custom orthorhombic pyramid shape