Software triangle rasterizer featuring perspective-correct texture mapping