Pescado Engine: A Custom 3D Graphics Solution for ESP32-S3

Published  April 1, 2024   0
S Staff
Author
Pescado Engine

Game developer Alex Fish has unveiled a new 3D graphics engine called Pescado, specifically tailored for the Espressif ESP32-S3 microcontroller. Originally developed in WebGL and later in OpenGL, Alex adapted the engine for the ESP32 platform, achieving smooth performance even on this microcontroller. The Pescado Engine employs a unique approach where 3D points are projected onto a 2D screen, creating the illusion of depth. Despite appearing three-dimensional, the rendering process fundamentally remains in two dimensions. It is achieved by projecting and compressing 3D points onto a 2D screen using a perspective projection matrix and division.

Utilising the capabilities of the ESP32-S3, Alex has demonstrated impressive performance, achieving over 700 frames per second when rendering wireframes on the LILYGO T-Display-S3 development board. This board features a 1.9-inch display with a resolution of 320x160 pixels. Alex has further enhanced the user experience by integrating SparkFun Qwiic-connected joysticks and an MPU-6050 inertial measurement unit for intuitive control of on-screen objects. Using these, Alex can control the objects on-screen manually or have them respond to the movement of the device itself. The engine's source code has been made available on GitHub, allowing other developers to explore and utilize it for their projects.