Jet, desenvolvido pela CubeCoders, é um rasterizador 3D compacto e sem dependências, criado para microcontroladores modernos como ESP32 e STM32. Escrito em C++17, o software funciona inteiramente por software, utilizando apenas aritmética de números inteiros e cores RGB565 de 16 bits. O objetivo é que seja compatível com ecrãs como ST7796 e ILI9488 ligados através de SPI.
No ESP32-S3, com uma resolução de 480×320, Jet consegue processar cerca de 650 triângulos no ecrã a 60 FPS e 1300 a 30 FPS. Os programadores afirmam que o desempenho se situa entre o Sega 32X e o Sega Saturn.
Por que é importante
O facto de Jet não exigir dependências nem aceleração por hardware oferece uma abordagem que reduz o esforço de integração para os programadores que pretendem utilizar gráficos 3D em sistemas integrados com recursos limitados. A opção pela aritmética de números inteiros e pelo RGB565 mostra que o projeto foi concebido mais em função das limitações de recursos dos microcontroladores e dos ecrãs SPI do que da qualidade gráfica dos computadores de secretária. Os números de triângulos divulgados ajudam a avaliar cenas viáveis ao mostrar o compromisso entre resolução, taxa de fotogramas e complexidade da cena no ESP32-S3. A comparação com consolas também transforma os dados de desempenho bruto numa referência mais compreensível para os leitores que avaliam a capacidade 3D integrada. No entanto, como as medições foram fornecidas apenas para a configuração ESP32-S3 indicada, permanece por esclarecer se será possível obter resultados semelhantes na família STM32 e em diferentes ecrãs compatíveis.