A software based renderer