In an attempt to get a better understanding of how 3D graphics work, this project implements a (very) simple graphics engine using Python 3 with Numpy and Pygame. While it isn't suitable for anything even remotely intensive, it's a neat little tool for manipulating simple objects. While I may be making some basic changes in the future, I have no real plans to continue development. However, I will likely be looking into creating a similar set of tools using OpenGL.
The examples directory contains a couple of simple examples to show how the code works. Put simply, the features include:
- Creation of objects from vertices/faces, or from .stl files
- Animation of objects from discrete position/orientations or functions describing the motion
- Navigation of the scene using Minecraft-esque controls (w, a, s, d, shift, space)
- Manipulation of model and world spaces