Skip to content

reAAAq/KrKr2-Next

Repository files navigation

KrKr2 Next

基于 Flutter 重构的下一代 KiriKiri2 跨平台模拟器

Status Engine Flutter ANGLE License


语言 / Language: 中文 | English

🙏 本项目基于 krkr2 重构,感谢原作者的贡献。

简介

KrKr2 NextKiriKiri2 (吉里吉里2) 视觉小说引擎的现代化跨平台运行环境。它完全兼容原版游戏脚本,使用现代图形接口进行硬件加速渲染,并在渲染性能和脚本执行效率上做了大量优化。基于 Flutter 构建统一的跨平台界面,支持 macOS · iOS · Windows · Linux · Android 五大平台。

下图为当前在 macOS 上通过 Metal 后端运行的实际效果:

macOS Metal 后端运行截图

架构

技术架构图

渲染管线:引擎通过 ANGLE 的 EGL Pbuffer Surface 进行离屏渲染(OpenGL ES 2.0),渲染结果通过平台原生纹理共享机制(macOS → IOSurface、Windows → D3D11 Texture、Linux → DMA-BUF)零拷贝传递给 Flutter Texture Widget 显示。

开发进度

⚠️ 本项目处于活跃开发阶段,尚未发布稳定版本。macOS 平台进度领先。

模块 状态 说明
C++ 引擎核心编译 ✅ 完成 KiriKiri2 核心引擎全平台可编译
ANGLE 渲染层迁移 ✅ 基本完成 替代原 Cocos2d-x + GLFW 渲染管线,使用 EGL/GLES 离屏渲染
engine_api 桥接层 ✅ 完成 导出 engine_create / engine_tick / engine_destroy 等 C API
Flutter Plugin ✅ 基本完成 Platform Channel 通信、Texture 纹理桥接
Texture 零拷贝渲染 ✅ 基本完成 通过平台原生纹理共享机制零拷贝传递引擎渲染帧到 Flutter
Flutter 调试 UI ✅ 基本完成 FPS 控制、引擎生命周期管理、渲染状态监控
输入事件转发 ✅ 基本完成 鼠标 / 触控事件坐标映射转发到引擎
引擎性能优化 🔨 进行中 SIMD 像素混合、GPU 合成管线、VM 解释器优化等
游戏兼容性优化 🔨 进行中 补全解析引擎、添加插件,阶段目标与 Z 大闭源版兼容性持平
原有 krkr2 模拟器功能移植 📋 规划中 将原有 krkr2 模拟器功能逐步移植到新架构

平台支持状态

平台 状态 图形后端 纹理共享机制
macOS ✅ 基本完成 Metal IOSurface
iOS 🔨 流程打通,正在优化和修复 OpenGL 渲染 Metal IOSurface
Windows 📋 计划中 Direct3D 11 D3D11 Texture
Linux 📋 计划中 Vulkan / Desktop GL DMA-BUF
Android 🔨 流程跑通,优化中 OpenGL ES / Vulkan HardwareBuffer

引擎性能优化

优先级 任务 状态
P0 像素混合 SIMD 化 (Highway) ✅ 完成
P0 全 GPU 合成渲染管线 🔨 进行中
P0 TJS2 VM 解释器优化 (computed goto) 📋 计划中

许可证

本项目基于 GNU General Public License v3.0 (GPL-3.0) 开源,详见 LICENSE

About

基于 Flutter + ANGLE 重构的 KiriKiri2 跨平台视觉小说模拟器,支持 Metal Vulkan D3D11 现代图形后端

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors