A physically inspired rendering engine, implemented in C#, that generates realistic 3D images by simulating the way rays of light interact with virtual objects. It supports spheres, ellipsoids (including rotated ellipsoids handled through quaternion-based rotation), and volumetric data, specifically, a CT scan of a walnut. The engine features:
- Quaternion-based rotation for ellipsoids
- Ellipsoid intersection logic using inverse ray rotation for better performance
- Light and shadow computation, producing realistic depth
- Volumetric rendering of the CT-scanned walnut: the engine loads the raw voxel dataset, casts rays through the volume, accumulates color and opacity, and terminates once an opacity threshold is reached
- Frame-by-frame scene rendering, supporting animated object rotation and camera movement