Build a GPU from scratch in software. Implement line drawing, triangle rasterization, depth testing, texturing, lighting, and tiling — all without hardware acceleration.