ChestnutYueyue
|
5158fd713e
|
feat(渲染器): 添加基础着色器文件并重构形状和精灵渲染器
重构形状渲染器和精灵渲染器,移除内置着色器代码改为使用外部着色器文件
添加基础着色器文件包括形状、精灵、文本和MSDF字体渲染所需着色器
渲染器现在必须设置材质才能工作,提供更灵活的着色器定制能力
|
2026-02-23 16:26:34 +08:00 |
ChestnutYueyue
|
70c2806c77
|
feat(asset/render): 添加材质系统和资源类实现
实现新的材质系统包括Material、MaterialInstance和MaterialPropertyBlock类
添加多种资源类实现:TextureAsset、FontAsset、ShaderAsset、AudioAsset等
重构SpriteRenderer以支持材质系统
添加UniformValue和UniformInfo类用于材质参数传递
实现MSDF字体渲染器和文本渲染功能
|
2026-02-23 15:40:42 +08:00 |
ChestnutYueyue
|
174d7327ef
|
refactor(core): 重构生命周期管理,引入Lifecycle统一管理模块和服务
重构模块和服务初始化流程,使用Lifecycle类统一管理依赖和生命周期
移除旧的ServiceLocator和Registry,简化架构
添加模块和服务依赖声明功能,支持自动拓扑排序
优化初始化顺序,支持并行初始化独立模块
更新相关模块和服务以适配新生命周期管理接口
|
2026-02-23 06:00:35 +08:00 |
ChestnutYueyue
|
d3973cd820
|
refactor(logging): 统一日志消息添加类别并修复空格式字符串问题
- 为所有日志消息添加类别标识符
- 修复日志宏处理空格式字符串的问题
- 调整日志消息顺序确保服务初始化优先
- 默认关闭窗口全屏模式
- 处理GL查询字符串可能为空的情况
- 移除mingw平台的-mwindows链接标志
|
2026-02-23 04:04:42 +08:00 |
ChestnutYueyue
|
f46978fc31
|
feat(hello_world): 添加SDL2依赖和窗口事件处理
refactor(window): 重构窗口模块文件结构并移动按键枚举
docs: 更新main.cpp实现完整的Hello World示例
|
2026-02-23 03:27:26 +08:00 |
ChestnutYueyue
|
60191063d2
|
refactor(examples): 简化 hello_world 示例代码
|
2026-02-23 03:27:18 +08:00 |
ChestnutYueyue
|
8e9fe8719f
|
refactor(utils): 重构数据存储模块为新的存档系统
移除旧的 DataStore 类及相关文件,替换为新的 SaveStore 实现。新实现采用二进制序列化格式,提供更高效的存储策略接口,支持文件系统和 Switch 平台存档系统。改进事务处理机制和类型安全的数据访问方法。
|
2026-02-23 03:21:29 +08:00 |
ChestnutYueyue
|
137369c37c
|
feat(事件系统): 添加SDL事件转换器并重构窗口事件处理
添加EventConverter类用于将SDL事件转换为引擎内部事件格式
重构Window类的事件处理逻辑,支持通过回调函数处理转换后的事件
修改Application类以使用新的事件系统
|
2026-02-23 03:13:00 +08:00 |
ChestnutYueyue
|
3cec8ff7ef
|
refactor(input): 重构输入代码为独立枚举类并移除SDL依赖
将原本基于SDL的输入代码重构为独立的枚举类,移除对SDL的依赖
删除旧的input_codes.h文件,将键盘、鼠标和手柄的输入代码统一到新的keys.h中
|
2026-02-23 02:58:42 +08:00 |
ChestnutYueyue
|
3a12ee1a6d
|
fix(event_queue): 修复peek方法无法正确查看事件的问题
修改peek方法的实现,通过临时弹出并重新压入事件来确保正确查看环形缓冲区中的事件。使用临时vector保持事件顺序,并添加必要的互斥锁保护。
|
2026-02-23 02:49:01 +08:00 |
ChestnutYueyue
|
264bf3bee3
|
docs: 将日志信息从英文翻译为中文并删除README文件
将应用程序初始化、窗口创建、渲染设备初始化等日志信息从英文翻译为中文
删除旧的README文件,后续将使用新版文档
|
2026-02-23 02:47:14 +08:00 |
ChestnutYueyue
|
528700549b
|
chore: 移除过时文档并更新依赖项
移除不再使用的构建系统文档和API教程文档,这些内容已过时或被其他文档替代
更新mingw平台的依赖项,添加zstd、lz4、zlib和libsodium库
为日志系统添加"窗口"类别(CAT_WINDOWS)并更新相关日志调用
|
2026-02-23 02:40:39 +08:00 |
ChestnutYueyue
|
88a25f6ea0
|
refactor(core): 优化模块依赖检查中的类型索引访问
将直接访问 modules_[j].module 改为先获取引用再访问,减少重复解引用操作,提高代码可读性
|
2026-02-23 02:20:24 +08:00 |
ChestnutYueyue
|
037b8599c7
|
refactor: 重构日志系统并优化智能指针命名
重构日志系统,移除Registry日志级别,增加带类别的日志宏
将makeUnique重命名为unique以保持一致性
更新所有相关文件和文档中的日志调用
优化代码格式和头文件包含
|
2026-02-23 02:15:30 +08:00 |
ChestnutYueyue
|
e600730105
|
refactor(render): 重构渲染系统,整合纹理、相机和渲染器功能
feat(render): 新增Texture类封装OpenGL纹理操作
feat(render): 新增Camera类提供2D视图投影矩阵计算
feat(render): 新增Renderer类整合图形和精灵渲染功能
refactor(window): 简化Window类实现,移除冗余功能
refactor(app): 重构Application类,简化主循环逻辑
refactor(scene): 重构场景和节点系统,适配新渲染接口
fix(assets): 修复资源管理相关头文件包含问题
chore(build): 更新xmake构建配置,移除调试宏定义
style: 统一代码格式,修复头文件合并冲突
|
2026-02-23 01:24:27 +08:00 |
ChestnutYueyue
|
114c5254af
|
refactor(core): 重构核心模块与服务系统
重构事件系统,使用环形缓冲区替代队列提升性能
移除废弃的字符串模块和示例代码
新增服务注册表和服务定位器实现
统一类型命名规范,使用更简洁的类型别名
优化数学工具函数,增加常用几何计算方法
|
2026-02-23 00:20:51 +08:00 |
ChestnutYueyue
|
e5b13e8ec0
|
refactor(render): 重构渲染系统,移除旧版GPUContext和RenderBackend
- 移除GPUContext和RenderBackend相关代码
- 新增RenderContext、RenderQueue和RenderStats等核心渲染组件
- 实现SpriteRenderer和ShapeRenderer进行批量渲染
- 更新节点和场景系统使用新的Renderer接口
- 清理不再使用的图形相关代码(字体、纹理、相机等)
- 优化渲染管线性能,减少状态切换
|
2026-02-23 00:19:51 +08:00 |
ChestnutYueyue
|
9bf328b1dc
|
refactor(core): 重构核心模块与类型系统
- 移除旧的字符串处理模块,改用标准库和simdutf
- 重构事件系统,使用环形缓冲区和改进接口命名
- 新增服务注册与定位系统
- 引入模块化架构和依赖管理
- 统一类型别名命名规范
- 实现对象池和环形缓冲区等基础数据结构
- 重构计时器服务,优化接口设计
- 新增资产管理系统基础框架
- 改进随机数生成器接口
- 重构应用框架,支持模块化初始化
|
2026-02-22 23:11:52 +08:00 |
ChestnutYueyue
|
6fbebafef3
|
refactor: 移除废弃的动画、资源和场景文件
清理不再使用的代码文件,包括:
1. 删除多个示例游戏的资源文件(字体、图片、音效)
2. 移除动画系统相关实现文件(sprite_frame.cpp, animation_clip.cpp等)
3. 删除flappy_bird和push_box示例的场景文件
4. 移除过渡效果相关实现
5. 删除废弃的action系统代码
这些文件已不再被项目使用,清理以减少代码维护负担
|
2026-02-22 22:01:04 +08:00 |
ChestnutYueyue
|
59f01900fb
|
chore: 在.gitignore中添加GreedyMonster目录
|
2026-02-14 12:58:22 +08:00 |
ChestnutYueyue
|
cd6c65a555
|
feat(create_project): 增强项目创建工具并添加开发环境检测
- 添加 DevToolsChecker 类用于检测开发环境工具链
- 自动克隆引擎源码到项目目录
- 添加系统字体自动复制功能
- 重构 xmake.lua 模板以支持本地引擎源码构建
- 改进 README.md 模板结构和内容
- 添加开发工具链下载提示功能
|
2026-02-13 21:50:25 +08:00 |
ChestnutYueyue
|
06de1e79af
|
feat(scripts): 添加 Extra2D 项目脚手架工具
实现创建 Extra2D 游戏项目的自动化脚本,包括:
- 创建标准目录结构
- 生成 main.cpp 模板文件
- 配置 xmake.lua 构建脚本
- 添加 .gitignore 和 README.md
- 支持 Windows 和 Nintendo Switch 平台
|
2026-02-13 20:39:03 +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
|
866fd4b1ff
|
refactor(ui): 移除UI组件的链式调用方法并重构文档注释
重构所有UI组件头文件,移除链式调用构建器方法
为UI组件添加详细的文档注释,说明各方法和属性的用途
调整部分实现文件的结构,使其更加清晰易读
|
2026-02-13 16:52:57 +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
|
4f641a2854
|
perf(渲染): 优化文本渲染和精灵批处理性能
- 在 GLSpriteBatch 中添加 viewProjection 缓存以减少重复设置
- 增大字体图集尺寸以支持更多字符
- 预分配字形缓冲区避免动态内存分配
- 统一使用 RGBA 格式处理 SDF 和普通字形
- 优化文本渲染使用批处理绘制
- 使用编译期生成的静态索引缓冲区
- 优化顶点变换计算减少重复运算
- 硬编码 SDF 常量到着色器中避免运行时传参
|
2026-02-13 10:43:38 +08:00 |
ChestnutYueyue
|
f86f9b3966
|
feat(渲染器): 添加线条批处理功能以提高绘制效率
为OpenGL渲染器添加独立的线条批处理系统,包括:
- 新增线条专用VAO和VBO
- 实现线条顶点缓存和批处理刷新机制
- 修改所有线条绘制方法使用批处理
- 增加最大线条顶点数常量
- 优化线宽处理逻辑
通过批处理减少绘制调用次数,提升线条绘制性能。
|
2026-02-13 10:25:07 +08:00 |
ChestnutYueyue
|
ca41af0dbd
|
perf: 优化渲染和计算性能
- 使用线程局部存储和固定数组优化节点世界变换计算,避免内存分配
- 实现快速随机数生成器替代 std::mt19937 提升粒子系统性能
- 添加三角函数查表优化精灵旋转计算
- 使用工厂函数指针数组替代 switch 语句优化场景过渡创建
- 实现形状生成函数查找表优化粒子发射器
- 重构渲染器实现形状批处理和状态缓存,减少 GL 调用
- 添加预分配缓冲区和顶点缓存优化形状渲染性能
|
2026-02-13 10:00:39 +08:00 |
ChestnutYueyue
|
4107e0b12b
|
docs: 更新多个API教程文档并添加示例代码
为多个API教程文档添加详细示例代码和说明,包括:
- 音频系统:添加Flappy Bird音效管理器实现
- 输入处理:补充鼠标输入检测和游戏输入处理示例
- UI系统:增加按钮启用/禁用功能及动画控制示例
- 节点系统:完善动画系统文档和示例
- 资源管理:添加精灵帧和资源加载器实现
- 场景系统:补充视口适配方案和基础场景类实现
|
2026-02-13 08:56:27 +08:00 |
ChestnutYueyue
|
3a9b44cbfe
|
feat(场景): 添加BaseScene作为统一基础场景类
重构所有场景类继承自BaseScene,提供统一的视口适配功能
使用游戏逻辑分辨率(GAME_WIDTH/GAME_HEIGHT)替代直接获取窗口尺寸
优化资源加载和音效播放的错误处理
|
2026-02-13 08:43:50 +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
|
8b2482415e
|
feat(flappy_bird): 添加Flappy Bird游戏实现
新增Flappy Bird游戏完整实现,包含以下功能:
- 游戏场景管理(启动、开始、游戏、结束场景)
- 小鸟物理效果和动画
- 水管生成和移动逻辑
- 碰撞检测和得分系统
- 音效和资源管理
- 适配Switch和PC平台
修复渲染系统问题:
- 修正精灵渲染时的纹理坐标计算
- 添加变换矩阵栈支持
- 优化节点世界变换处理
调整构建系统:
- 添加xmake构建配置
- 支持资源打包和部署
|
2026-02-12 21:50:21 +08:00 |
ChestnutYueyue
|
cb67abe0bb
|
fix: 强制禁用Switch平台的鼠标光标和DPI缩放功能
|
2026-02-12 14:32:51 +08:00 |
ChestnutYueyue
|
5bab53aa2a
|
refactor(渲染): 统一处理锚点计算逻辑
将锚点计算逻辑统一交由 RenderBackend 处理,简化各渲染组件的代码
添加窗口高级配置选项,支持自定义光标和DPI缩放
更新窗口初始化逻辑,使用配置中的宽高参数
|
2026-02-12 14:29:50 +08:00 |
ChestnutYueyue
|
f1ec3f8eae
|
chore: 更新.gitignore文件以排除FlappyBird目录
|
2026-02-12 12:42:20 +08:00 |
ChestnutYueyue
|
be92b3a5eb
|
docs(ResourceManagement): 添加LRU缓存机制的详细文档
|
2026-02-12 12:31:14 +08:00 |
ChestnutYueyue
|
1c1f071307
|
refactor(SpriteFrameCache): 使用 ResourceManager 的 LRU 缓存机制
|
2026-02-12 12:26:54 +08:00 |
ChestnutYueyue
|
85420634aa
|
refactor(resource): 重构资源管理系统并移除TexturePool
- 移除TexturePool类,将纹理缓存功能直接集成到ResourceManager
- 实现基于LRU的纹理缓存管理,提高缓存效率
- 添加GPUContext类用于安全处理GPU资源生命周期
- 重构对象池实现,解决循环引用问题
- 优化应用关闭时的资源释放顺序
- 改进纹理加载错误处理
- 更新SpriteFrameCache直接加载纹理
- 清理无用头文件和代码
|
2026-02-12 12:20:14 +08:00 |
ChestnutYueyue
|
c46be5287d
|
refactor(resource): 重构资源管理器使用 TexturePool 管理纹理
移除原有的异步加载系统,改为使用 TexturePool 作为纹理管理后端
新增 update 方法用于主循环调用,触发纹理池自动清理
保留原有接口但标记为弃用,保持向后兼容
所有纹理相关操作现在通过 TexturePool 实现
|
2026-02-12 10:41:07 +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 |