Simple software rasterizer with perspective-correct texture mapping and back face culling