3D engine with software rendering for learning purpose.