CubeCodersが開発したJetは、ESP32やSTM32などの最新マイクロコントローラー向けに設計された、依存関係を必要としないコンパクトな3Dラスタライザーだ。C++17で記述されたこのソフトウェアは、完全にソフトウェアベースで動作し、整数演算と16ビットのRGB565カラーのみを使用する。SPI経由で接続されるST7796やILI9488などのディスプレイとの互換動作を目指している。
JetはESP32-S3上で、480×320の解像度において、60 FPSで約650個、30 FPSでは1300個の画面上の三角形を処理できる。開発者らは、性能がSega 32XとSega Saturnの間に位置するとしている。
なぜ重要なのか
Jetが依存関係やハードウェアアクセラレーションを必要としないことは、限られた組み込みシステムで3Dグラフィックスを利用したい開発者にとって、統合の負担を軽減するアプローチとなる。整数演算とRGB565の採用は、このプロジェクトがデスクトップ向けのグラフィックス品質よりも、マイクロコントローラーとSPIディスプレイのリソース条件に合わせて設計されていることを示している。公表された三角形数は、ESP32-S3上における解像度、フレームレート、シーンの複雑さのトレードオフを示し、実現可能なシーンを評価するのに役立つ。ゲーム機との比較も、生の性能データを、組み込み3D性能を評価する読者にとってより分かりやすい基準へと置き換えている。ただし、測定値は記載されたESP32-S3構成についてのみ示されているため、STM32ファミリーや別の互換ディスプレイでも同様の結果が得られるかどうかは明らかになっていない。