esp32_3d_engine
Un moteur de rendu 3D logiciel pour microcontrôleurs ESP32.
Rend des scènes 3D complètes avec éclairage directement sur le MCU — sans GPU. Pipeline logiciel complet du sommet au framebuffer, scene graph maison, génération de mesh par révolution/extrusion, caméra orbitale, lumière directionnelle, algorithme du peintre et allocateur PSRAM. Publié comme composant sur l'ESP Component Registry.
- Pipeline logiciel : transform → clipping Sutherland-Hodgman → projection → rastérisation scanline → framebuffer.
- Scene graph hiérarchique avec recherche par ID et arbre de composants (Transform, Mesh, Light).
- Génération de mesh par révolution et par extrusion à partir de profils 2D.
- Éclairage directionnel (ambient + diffuse) en RGB565.
- Double buffering, std::allocator personnalisé plaçant les gros buffers en PSRAM.
- Thread pool optionnel avec std::jthread pour scène/render sur cœurs séparés.
- Drivers LCD interchangeables : EK79007 (MIPI-DSI), ST7262 (RGB), ST7789 (SPI).
- Cibles supportées : ESP32-P4 et ESP32-S3 (tests principaux), ESP32 / S2 / C3 via drivers.
- C++ sur 99 % du code. Licence MIT.