This is a 3D renderer I made from scratch using pygame and numpy. The renderer reads in a .obj file and renders it on a pygame screen. It uses perspective projection and quaternions for camera rotation. It includes shaders, triangle clipping, and the ability to traverse the projection space
.obj files from https://people.sc.fsu.edu/~jburkardt/data/obj/obj.html