Ray Tracer in C++
Analytic ray–primitive intersection and a full shading pipeline, on OpenGL
A ray tracer built from first principles in C++, rendered to an OpenGL display.
It implements analytic ray–primitive intersection for five primitives — spheres, cylinders, cuboids, ellipsoids and cones — and the full pipeline on top: camera ray generation, lighting, shading and shadows.