Working on a workshop/course on interactive software rendering (no GPU) using SlimApp++ Covers 2D raycasting and 3D raytracing, and next up is soft shadows (w/ contact hardening):