Commit Graph

21 Commits

Author SHA1 Message Date
ChestnutYueyue 583e866861 docs(module_system): 重构模块系统文档,简化内容并优化结构
- 移除冗余的配置系统实现细节,聚焦核心架构
- 优化模块与服务的对比表格,突出关键差异
- 简化示例代码,保留核心用法展示
- 更新架构图,更清晰展示模块与服务的层级关系
- 统一术语使用,增强文档一致性
2026-02-17 23:57:50 +08:00
ChestnutYueyue 2748e80dea refactor(opengl): 重构渲染器资源管理并引入资源抽象层
- 引入资源抽象层接口(Buffer、Pipeline、Framebuffer等)
- 将OpenGL资源管理重构为GLBuffer、GLPipeline、GLFramebuffer等实现类
- 使用GLBuffer替代手动管理的VBO/IBO,提供更安全的资源生命周期管理
- 新增GLPipeline管理OpenGL管线状态,减少冗余状态切换
- 新增GLFramebuffer封装帧缓冲对象功能
- 更新GLRenderer使用新的资源管理方式
- 添加详细文档说明资源抽象层设计
- 修复相关内存泄漏问题

docs: 添加资源抽象层文档说明

- 新增docs/README.md详细说明资源抽象层设计
- 文档包含各接口功能说明和实现原则
2026-02-17 22:36:02 +08:00
ChestnutYueyue 4f02ad0e39 refactor(模块系统): 重构模块配置方式为lambda函数
将InputModule、WindowModule、RenderModule等核心模块的配置方式从结构体改为lambda函数
添加独立的配置结构体(InputCfg/WindowCfg/RenderCfg)并更新文档
实现GLFW窗口居中功能
更新示例代码使用新的配置方式
2026-02-17 00:34:14 +08:00
ChestnutYueyue 9f83b8fde5 feat(platform): 添加 GLFW 后端支持并移除 SDL2 依赖
添加 GLFW 作为可选的窗口和输入后端,支持通过配置切换 SDL2 或 GLFW 后端
移除对 SDL2 的直接依赖,重构窗口模块以支持多后端
更新构建系统和文档以反映后端选择功能
2026-02-17 00:06:31 +08:00
ChestnutYueyue 0425425ec7 refactor: 重构 graphics 模块目录结构并简化配置系统
- 重组 graphics 目录,按功能分为 core/camera/shader/texture/memory 子目录
- 移除所有模块级 *_config.h 配置文件,改用模块内部的 Cfg 结构体
- 移除 config_loader 和 debug_config 相关文件
- 简化模块系统,使用 Module 基类替代复杂的 IModuleConfig/IModuleInitializer
- 添加 SDL_GetBasePath() 支持跨平台 shader 路径解析
- 修复日志宏不支持 {} 格式化语法的问题
- 更新文档反映新的目录结构
2026-02-16 23:14:12 +08:00
ChestnutYueyue b55d279611 feat(示例): 添加自定义模块示例和文档
新增HelloModule示例展示如何创建自定义模块,包含:
1. 模块配置类实现
2. 模块初始化器实现
3. 自动注册机制
4. JSON配置支持
5. 场景中使用模块的示例

同时更新模块系统文档,详细说明自定义模块开发流程
2026-02-15 17:00:39 +08:00
ChestnutYueyue 2d8b98bba6 docs(模块系统): 添加场景图和视口适配系统的文档
添加场景图系统的详细说明,包括Node基类、Scene类、ShapeNode和变换继承
添加视口适配系统的文档,包括ViewportAdapter和不同适配模式的说明
更新示例部分以包含新的场景相关实现文件
2026-02-15 13:39:18 +08:00
ChestnutYueyue 6c6cac55f7 feat(渲染): 实现节点层级变换支持
refactor(场景图): 简化形状节点渲染逻辑

feat(输入): 添加输入事件到事件服务的连接

docs(模块系统): 更新文档说明模块配置和平台支持

test(示例): 添加场景图测试示例展示节点变换
2026-02-15 13:32:42 +08:00
ChestnutYueyue 8c56c29cd2 refactor(platform): 重构平台和模块配置系统
将平台相关配置分离到独立头文件
移除AppConfig中的模块配置,改为模块自行管理
统一使用SDL2作为窗口后端
优化Switch平台支持
添加模块配置接口
重构配置加载器以支持模块配置
2026-02-15 12:36:36 +08:00
ChestnutYueyue 269f2d907d docs: 添加模块系统文档
添加 Extra2D 模块系统的详细文档,包括架构设计、核心接口、创建模块步骤、内置模块说明和最佳实践
2026-02-15 10:11:09 +08:00
ChestnutYueyue b949d1a3da docs: 删除Extra2D构建系统文档和API教程文档
删除以下文档文件:
- docs/Extra2D构建系统文档.md
- docs/API_Tutorial/01_Quick_Start.md
- docs/API_Tutorial/02_Scene_System.md
- docs/API_Tutorial/03_Node_System.md
- docs/API_Tutorial/05_Input_Handling.md
- docs/API_Tutorial/06_Collision_Detection.md
- docs/API_Tutorial/08_Audio_System.md
- docs/API_Tutorial/09_Action_System.md
2026-02-14 17:43:50 +08:00
ChestnutYueyue f02b368dc9 refactor(action): 重构动作系统架构并添加新功能
重构动作系统核心架构,主要变更包括:
1. 将动作系统拆分为多个模块化头文件
2. 新增动作管理器实现集中管理
3. 添加瞬时动作、间隔动作和特殊动作类
4. 实现完整的缓动动画系统
5. 优化节点动作接口与性能

新增功能:
1. 支持颜色和翻转动画
2. 添加回调动作和节点管理动作
3. 实现跟随和速度控制等特殊动作
4. 提供30+种缓动函数支持

BREAKING CHANGE: 动作系统API不兼容旧版本,需更新相关调用代码
2026-02-13 18:46:42 +08:00
ChestnutYueyue 3ffcd692b6 feat(对象池): 实现高性能自动管理对象池系统
- 新增自动内存对齐、线程本地缓存和自动容量管理的对象池实现
- 为推箱子示例添加撤销功能演示对象池使用
- 优化对象池内存管理,支持自动预热和收缩
- 添加详细API文档说明对象池特性和使用方法
- 在应用启动时自动预热水对象池减少运行时延迟
2026-02-13 17:34:46 +08:00
ChestnutYueyue 65825946be docs(API_Tutorial): 移除链式调用示例并更新UI文档
更新UI系统文档,移除了所有链式调用方法的示例,统一使用标准设置方法
修改最佳实践部分,移除关于链式调用的推荐
2026-02-13 16:58:40 +08:00
ChestnutYueyue b78c493590 feat(场景系统): 重构场景过渡系统并添加视口适配功能
重构过渡系统为基于 TransitionScene 的场景中介模式,新增多种过渡效果
为 BaseScene 添加视口适配功能,支持居中显示游戏内容
将按钮组件扩展支持切换模式,优化 UI 系统文档
更新示例项目使用新过渡系统和视口适配

新增 TransitionScene 基类及多种过渡效果实现:
- TransitionFadeScene 淡入淡出过渡
- TransitionSlideScene 滑动过渡
- TransitionScaleScene 缩放过渡
- TransitionFlipScene 翻页过渡
- TransitionBoxScene 方块过渡

BaseScene 提供视口适配功能:
- 计算居中视口参数
- 处理窗口大小变化
- 支持作为 TransitionScene 子场景渲染

UI 系统改进:
- Button 组件新增切换模式支持
- 合并 ToggleImageButton 功能到 Button
- 更新文档和示例使用切换按钮

示例项目更新:
- flappy_bird 使用新过渡系统
- push_box 实现完整场景结构和视口适配
- 更新场景切换 API 使用方式
2026-02-13 13:56:18 +08:00
ChestnutYueyue 4107e0b12b docs: 更新多个API教程文档并添加示例代码
为多个API教程文档添加详细示例代码和说明,包括:
- 音频系统:添加Flappy Bird音效管理器实现
- 输入处理:补充鼠标输入检测和游戏输入处理示例
- UI系统:增加按钮启用/禁用功能及动画控制示例
- 节点系统:完善动画系统文档和示例
- 资源管理:添加精灵帧和资源加载器实现
- 场景系统:补充视口适配方案和基础场景类实现
2026-02-13 08:56:27 +08:00
ChestnutYueyue 1b72a1c992 refactor(构建系统): 移除示例项目中的冗余资源打包逻辑
refactor(文档): 更新节点系统教程避免双重引用问题

fix(四叉树): 修复碰撞检测中的缓冲区越界问题

refactor(空间索引示例): 使用 getChildren() 替代私有 vector 存储节点

style(精灵批处理): 调整代码格式和初始化顺序
2026-02-12 22:31:34 +08:00
ChestnutYueyue 010e48753c docs(API_Tutorial): 更新输入处理和节点系统文档
更新输入处理文档,添加Xbox手柄按键映射和游戏控制示例
重构节点系统文档,详细说明坐标系、变换系统和最佳实践
2026-02-12 21:57:41 +08:00
ChestnutYueyue be92b3a5eb docs(ResourceManagement): 添加LRU缓存机制的详细文档 2026-02-12 12:31:14 +08:00
ChestnutYueyue d1a61ab235 feat(渲染系统): 实现渲染命令批处理和自动排序功能
refactor(资源管理): 重构资源管理器支持异步加载和纹理压缩

perf(对象池): 新增对象池实现优化小对象分配性能

docs(文档): 更新资源管理文档说明异步加载和纹理压缩功能

style(代码): 统一渲染命令数据结构命名规范
2026-02-11 22:30:57 +08:00
ChestnutYueyue f299d9e765 Initial commit 2026-02-11 19:40:26 +08:00