This is a toy project for learning the theory of 3D render. I'm tring to add every necessary step into only one file. For simplifying and performance, all math operation are implemented by numpy and the window management are implemented by pyglet.
- World, view, projection transform
- Simple texture mapping
- Backface culling
- Z-buffer
- Diffuse direction lighting
- numpy for fast math computation
- pyglet for window management
Because I have chosen Python as the main programming language. so there is a huge performance issue.