EUI-NEO

C++17 · OpenGL / Vulkan · GLFW / SDL2

EUI-NEO

一个面向高性能桌面工具、仪表盘和组件系统的轻量级 UI 框架。

2 窗口后端
2 渲染后端
20+ 组件
查看文档索引
01 / WHY

Why EUI-NEO

为 C++ 应用保留速度、控制力和现代 UI 体验。

01

按需渲染

静止时等待事件,有动画才推进帧;脏区缓存减少重复绘制。

02

后端可选

GLFW / SDL2 窗口后端,OpenGL / Vulkan 渲染后端,同一套 DSL 输出。

03

C++ 直写

无需引入 WebView 或脚本运行时,直接在 C++17 项目里声明界面和状态。

04

组件齐全

输入、弹层、选择器、表格、图表和滚动容器覆盖工具型应用常见场景。

03 / RENDER

Rendering Core

统一 Runtime,双渲染后端

窗口、输入、Runtime 和 GPU 后端各守边界,让同一套 DSL 输出到 OpenGL 或 Vulkan。

01

Compose

C++ DSL 构建 UI 树,Runtime 负责布局、状态同步和交互派发。

02

Dirty Rect

按 id 缓存图元,变化时计算保守脏区,必要时升级 full redraw。

03

Backend

OpenGL 与 Vulkan 各自管理 pipeline、atlas、texture 和 frame lifecycle。

EUI-NEO example interface EUI-NEO example interface
04 / LAYER

Component Layer

为工具型界面准备的组件层

按钮、输入、弹层、选择器、图表和数据表都只组合 DSL 树,不穿透后端 primitive。

05 / BUILD

Quick Start

把 EUI-NEO 接入你的 CMake 项目

01

CMake 引入

add_subdirectory(external/EUI-NEO)

add_executable(my_app
    external/EUI-NEO/core/app/glfw_app_main.cpp
    app.cpp
)
eui_neo_configure_app(my_app)
02

实现入口

#include "eui_neo.h"

namespace app {
const DslAppConfig& dslAppConfig();

void compose(eui::Ui& ui, const eui::Screen& screen);
}
03

构建运行

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
./build/my_app