Self-taught computer programmer Alex Fishpublished a demonstrationof a 3D graphics and physics engine he made entirely from scratch — running on a GPU he made from basic parts. The GPU itself features a built-in screen with thumbsticks to control on-screen graphics.

This story is very similar to the homemadeFuryGPUwe covered a week ago. But this homemade GPU from Alex Fish is geared towards the software side of GPU development — rather than just the GPU hardware alone.

Alex Fish� Homemade 3D graphics engine

The hardware itself was made with various off-the-shelf parts that you can buy yourself. The parts consist of anAMOLED 1.91-inch display with a development board wireless moduleattached to it,SparkFun Joysticks, and aSparkFun Qwiic Mux breakout board.

While the hardware isn’t completely custom, Alex’s3D engineused on the homemade GPU is. The programmer built the 3D graphics and physics engines (dubbed the ESPescado engine) completely from scratch using C++ andOpenGL. Even the libraries, featuring the vector and matrix math, were written from scratch. The physics and geometry are rendered in 3D — however, to make the images truly look 3D, the engine uses a perspective projection matrix and perspective division to turn 3D objects into 2D images. These are the fundamentals of 3D graphics.

Aaron Klotz

The homemade 3D engine also takes advantage of meshes. Meshes are made from points and lines that are grouped into triangles, which are then grouped into meshes. In video-game terminology, meshes form the foundation of objects and terrain that we see in-game, and are what gives them their photo-realistic characteristics. These meshes are placed into the “world” with a model-to-world matrix (TRS). The TRS system can scale, rotate, and translate every point visible from local space to world space.

Alex was able to share a live demo of this homemade graphics engine working on his tiny 1.91-inch GPU development kit. A YouTube video shows the GPU displaying a green triangular object on a black background. With the two joysticks he connected to the GPU, he was able to move the object around, similar to a third-person viewpoint in a video game.

The demo itself isn’t groundbreaking, but it proves that handmade 3D graphics engines can be made from scratch. If Alex has connections with Dylan Barrie — creator of the FuryGPU — we could potentially see a full-blown 3D video game run entirely off of homemade hardware and software. If you want to check out Alex’s 3D engine, he has created a couple of GitHub pages with details on the3D engineas well as thehardwarehe used to run it.

Get Tom’s Hardware’s best news and in-depth reviews, straight to your inbox.

Aaron Klotz is a contributing writer for Tom’s Hardware, covering news related to computer hardware such as CPUs, and graphics cards.