|
Deki 0.19.0
面向嵌入式显示屏和桌面的模块化 C++ 2D 引擎
|
面向嵌入式显示屏和桌面的模块化 C++ 2D 引擎,带有可视化编辑器。
这里是引擎核心及其 C++ API。各个包的文档在包自己的站点上,链接见下文。所有内容都由代码生成(引擎 0.19.0)。
每个包都是 github.com/dekiengine 下的独立仓库。使用 DekiEditor --packages-add <id> <project> 或通过包管理器安装。
| 包 | 组件 | 简介 |
|---|---|---|
| deki-2d | 11 | 2D 内容组件:精灵、文本(BitmapFont + TTF 烘焙)、动画、渐变、按钮、滚动、裁剪和滚轮选择器。 |
| deki-3d | 2 | 以渲染通道形式实现的软件光栅化 3D:网格、透视相机和 .obj 导入,与 2D 共用同一个帧缓冲。 |
| deki-audio | 1 | 音频播放外设。通过 I²S 驱动 MAX98357 D 类功放。 |
| deki-ble | 0 | 低功耗蓝牙抽象。面向 BLE 外设(peripheral)和中心设备(central)的引擎侧接口。 |
| deki-desktop-integration | 0 | 桌面平台 HAL:为桌面构建提供内存和文件系统提供者。 |
| deki-esp32-integration | 2 | ESP32 平台 HAL:通过 ESP-IDF SDMMC 使用 SD 卡、FATFS 文件系统、串口命令,以及内存和文件系统的设置。 |
| deki-fsm | 1 | 可视化状态机。在画布上布置状态、分组和转换,每个状态内部有一条动作流。 |
| deki-gpio | 1 | 数字引脚:驱动引脚、读取引脚、对引脚的脉冲计数。另有一个为开发板外设上电的启动步骤。 |
| deki-gps | 2 | GPS 外设。通过 UART 读取任意发送端(talker)的 NMEA,自行找出接收器的通信速率,并报告卫星和海拔。 |
| deki-http | 2 | HTTP 客户端。桌面上是基于 WinHTTP 的同步 GET。嵌入式开发板使用自己的网络协议栈。 |
| deki-i2c | 1 | I²C 总线支持。在开发板上配置一次总线,外设包(RTC、IMU、触摸)共用它。 |
| deki-i2s | 0 | I²S 总线支持,用于 MAX98357 D 类功放等数字音频外设。 |
| deki-imu | 1 | 6 轴 IMU(加速度计 + 陀螺仪),带硬件计步器。通过 I²C 连接 LSM6DS3。 |
| deki-input | 3 | 输入分发和碰撞检测。将指针/触摸/按键事件分发给需要它们的组件。 |
| deki-json | 0 | 为运行时需要 JSON 的包提供 JSON 解析。嵌入式上封装 ESP-IDF 的 cJSON;桌面上使用等效实现。 |
| deki-lora | 1 | LoRa 射频。Semtech SX1262 驱动,收发数据包,内置占空比限制。 |
| deki-lovyangfx-integration | 2 | 通过 LovyanGFX 1.2.19 实现嵌入式显示和触摸。驱动常见的 SPI/并口 TFT 屏和 FT6336U 电容触摸面板。 |
| deki-nodegraph | 0 | 节点图画布:编辑器窗口、撤销、域和节点注册,不对节点的含义做任何假定。 |
| deki-particles | 1 | 模块化粒子系统:点/圆/矩形发射形状、重力、阻力、初速度,以及生命周期/大小/颜色/旋转修改器。 |
| deki-rendering | 2 | 核心渲染管线:相机、渲染系统、标准 2D 渲染器、QuadBlit、渲染通道和排序。 |
| deki-rtc | 2 | 实时时钟外设。通过场景组件读写实际时间,后端为 DS3231(I²C)。 |
| deki-sdcard | 1 | SD 卡支持。挂载 SD 卡,让资源管理器在运行时从中流式读取。 |
| deki-sdl3-integration | 2 | 基于 SDL3(3.2.8)的桌面显示、输入和文件系统。 |
| deki-tactility-integration | 2 | 让 Deki 游戏作为应用运行在 Tactility(面向 ESP32 开发板的操作系统)中,而不是作为占据整个设备的固件。 |
| deki-tiledmapeditor-integration | 3 | Tiled 地图编辑器集成。将 .tmj 文件放进项目,编辑器会将其烘焙为可流式读取的二进制瓦片地图。 |
| deki-tween | 1 | 补间动画,提供 30 多种缓动函数。在检视器中使用 TweenComponent,或在代码中使用 TweenManager。 |
| deki-uart | 0 | UART 支持,用于 GPS 接收器等串口外设。 |
| deki-wifi | 0 | Wi-Fi 抽象。连接、断开并报告状态;具体后端由平台集成包提供。 |