A Pythonic 3D Engine in 1 Weekend#
This weekend, I followed Coder Space’s Python 3D engine tutorial series, which covers the fundamentals of the OpenGL pipeline, from CPU to GPU.
Video 1: Main Tutorial#
I learned about the OpenGL pipeline, from CPU to GPU. The first tutorial demonstrated how to:
Render basic geometry.
Implement a scene camera.
Add Phong lighting to a scene.
Refactor code for buffer object data reuse.
Apply uniform transformations.
Adopt rendering best practices:
Mipmapping
Gamma correction
Load external 3D models.
Note
I learned that Vertex Buffer Objects (VBOs) are unformatted, allocated memory spaces for vertex-related data. However, buffer objects can serve purposes beyond VBOs.
Video 2: Skybox and Environment Mapping#
I created a skybox for the rendering scene. The second tutorial demonstrated how to:
Refactor code using polymorphism.
Generate cube maps from faces.
Implement a plane-based skybox, replacing the cube-based version.
Note
Implementing a plane-based skybox presented significant challenges.
Video 3: Shadow Mapping with PCF#
I implemented a smooth shadow-mapping system with Percentage-Closer Filtering (PCF).
Feedback#
As someone eager to learn graphics programming fundamentals, I found this series highly engaging. To further broaden its appeal, consider including tutorials on:
Instancing
Deferred rendering
Vertex normal and tangent generation
Recommendation#
I recommend this tutorial for individuals with Python experience who wish to dive directly into graphics development. Thank you, Coder Space!