Built a programmable 3D rasterization engine from scratch in Python that recreates the core OpenGL pipeline on the CPU, including vertex and fragment shaders, perspective-correct interpolation, triangle rasterization, z-buffering, transforms, texture sampling, and multiple lighting models. Created a textured solar-system scene with procedural UV-sphere geometry and Perlin noise, using Pygame only to display the software-rendered framebuffer.
The included scene renders a star-field background, procedural Sun, textured Earth, and shaded Moon through the software pipeline.
python -m pip install -r requirements.txt
python main.pyPress Esc or close the window to exit.