3D software renderer part one