3D-растеризатор для вбудованих пристроїв

Фото до статті
Фото до статті

Колись створення графіки на мікроконтролері було складним завданням, не кажучи вже про тривимірний простір. Але сучасні мікроконтролери значно потужніші, і ви можете захотіти реалізувати з ними різноманітні графічні ефекти. Для цього вам може стати в пригоді Jet.

Jet, створений [CubeCoders], — це компактний 3D-растеризатор, розроблений для сучасних чіпів, таких як ESP32 та STM32. Він не має залежностей, відносно невеликий за розміром і написаний на C++17 з урахуванням роботи на платформах з обмеженою пам’яттю. Він працює виключно програмно, використовує лише цілочисельну арифметику та побудований навколо 16-бітного кольору RGB565 — це спрощує його використання з такими компонентами, як ST7796, ILI9488 та іншими подібними дисплеями, що підключаються через SPI.

Для порівняння, на ESP32-S3 Jet може відображати близько 650 трикутників (після відсікання) зі швидкістю 60 кадрів на секунду на дисплеї 480×320, або 1300 трикутників при 30 FPS. Розробники зазначають, що продуктивність 3D знаходиться десь між Sega 32X і Sega Saturn — це непогано для мікроконтролера, який можна придбати менш ніж за 20 доларів. Демонстрація, схожа на Wipeout, чудово показує можливості Jet.

Було б наївно очікувати, що ваш наступний проект на мікроконтролері зможе відтворити Crysis. Однак, якщо вам потрібна ретро-3D графіка для вашої наступної розробки на базі ESP32, можливо, варто розглянути можливості Jet.

‘Wipeout’ style 3D racing game on an ESP32-S3 at 60fps

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *