E引擎

引擎

对象模型、资源系统和生命周期,以及运行它们的平台。其余的一切都是你按需添加的包。

核心

引擎自带这些基础类型:Deki::Object 和 Deki::Component、生命周期管理器、资源系统,以及由平台来实现的 provider 接口。渲染、精灵、输入、音频、网络和所有外设都在包里。

引擎核心在中间,包围绕在周围,每个包都是运行时加载的 DLL

一个标记,处处生效

从 Deki::Component 派生,给字段加上 DEKI_EXPORT 标记。这个标记同时驱动检视器控件、序列化、撤销和资源解析。不需要在第二个地方注册任何东西。

头文件里三个导出的 float,以及它们在编辑器检视器中对应的三个滑块

热重载

修改组件后切回编辑器,它会重新构建并就地替换 DLL。场景一直在运行。

软件渲染器

一条 QuadBlit 管线,四种输出格式。脏矩形让屏幕的局部更新保持低开销,省电。

引擎以 RGB565 渲染的三帧 320×240 画面

包即 DLL

每个包都是独立的共享库,从不编进核心。可以不带渲染、不带输入、不带音频发布,只保留生命周期。

平台

平台也是一个包。换掉集成包就能切换目标;做无头服务时,显示和输入可以完全不要。

平台状态说明
ESP32已发布主要目标。基于 ESP-IDF 构建,所以 SDK 支持的任何型号都在范围内:包括 SD、显示和触摸,编辑器的构建流程可以一路走到硬件上。
Windows 桌面已发布通过 SDL3 提供窗口、输入和文件系统。编辑器本身就运行在它上面。
Linux 桌面实验性引擎和编辑器可在 GCC 16 下构建和运行,已在 Steam Deck 上完整验证,带原生文件对话框。

需要硬件 FPU。变换、补间和渲染都依赖原生 float;软浮点也能用,只是慢得多。

现状

版本是 0.x,这个数字是如实的:API 在版本之间仍会变化,开发板也在不断增加。引擎、编辑器和所有包都以 Apache 2.0 开源,地址是 github.com/orgs/dekiengine,编辑器可以直接下载。

C++ API、组件参考文档以及每个包自己的文档都在文档站。