Разработка и реализация программного 3D-движка для микроконтроллеров семейства ESP32

Бесплатный доступ

В статье представлена разработка и практическая реализация программного 3D-движка для микроконтроллеров семейства ESP32, ориентированного на использование во встраиваемых системах, устройствах интернета вещей и портативной электронике, лишённых аппаратной поддержки графики. Актуальность работы обусловлена ростом требований к визуализации и интерактивности в недорогих и энергоэффективных устройствах при отсутствии готовых решений, обеспечивающих полноценную трехмерную графику в жёстко ограниченной аппаратной среде. Цель исследования заключается в создании расширяемой, модульной и производительной архитектуры программного 3D-движка, способной эффективно использовать двухъядерный процессор ESP32 и ограниченные ресурсы оперативной памяти. Архитектура движка базируется на объектно-ориентированном подходе и применении паттернов проектирования «Состояние» и «Стратегия», обеспечивающих низкую связанность компонентов, удобство сопровождения и возможность замены алгоритмов рендеринга без изменения ядра системы. Для организации параллельной обработки используется FreeRTOS, в рамках которой задачи физики, геометрических преобразований и растеризации распределяются по ядрам микроконтроллера и выполняются по конвейерной схеме. Особое внимание уделено оптимизации использования памяти за счёт индексированного хранения геометрии, применения целочисленных типов данных и разделения кадрового буфера между быстрой внутренней SRAM и внешней PSRAM. Экспериментальные испытания на ESP32-S3 показали возможность стабильного рендеринга сцен с 1385 треугольниками на частоте 17 кадров в секунду с поддержкой текстурирования и динамического освещения, что подтверждает практическую реализуемость предложенного подхода.

Еще

ESP32, 3D-движок, ПО, FreeRTOS, архитектура ПО, паттерн Стратегия, паттерн Состояние, двухъядерная обработка

Короткий адрес: https://sciup.org/14135235

IDR: 14135235   |   DOI: 10.47813/2782-2818-2025-5-4-2091-2100