DEKI/ENGINE 文档
Deki 0.19.0
面向嵌入式显示屏和桌面的模块化 C++ 2D 引擎
载入中...
搜索中...
未找到
Deki

面向嵌入式显示屏和桌面的模块化 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 抽象。连接、断开并报告状态;具体后端由平台集成包提供。