Commit Graph

27 Commits

Author SHA1 Message Date
ChestnutYueyue 97be1b746a chore: 删除未使用的实例化顶点着色器文件
该着色器文件未被实际使用,为保持代码库整洁故移除
2026-03-03 11:42:13 +08:00
ChestnutYueyue 8cd883ede7 feat(着色器): 添加默认和实例化着色器到场景图示例
添加默认和实例化着色器文件到场景图示例,包括顶点和片段着色器
修改构建脚本自动复制着色器文件到romfs目录
2026-03-03 03:57:19 +08:00
ChestnutYueyue 91e3e8fe57 feat(渲染): 实现实例化渲染功能并优化渲染管线
- 添加实例化渲染支持,包括InstanceBuffer、InstanceBufferManager和相关着色器
- 重构渲染命令队列以支持实例化绘制
- 优化材质系统,使用vector保持参数顺序并添加快速查找
- 改进顶点布局系统,支持实例属性
- 添加全局UBO管理,优化uniform数据传递
- 实现新的实例化测试场景节点
- 更新着色器以支持实例化渲染和UBO
- 改进GL命令列表,支持实例属性绑定
- 添加AssetsModule对实例化资源的支持
- 修复Director在没有主相机时的警告日志
2026-03-03 03:48:55 +08:00
ChestnutYueyue 9041833430 refactor(rhi): 重构渲染硬件接口模块
feat(rhi): 新增RHI模块抽象层
feat(opengl): 实现OpenGL后端支持
refactor(renderer): 重构材质、纹理和网格类以使用RHI接口
refactor(scene): 移除移动构造函数并禁止移动操作
fix(shader): 修复默认片段着色器纹理采样问题
refactor(module): 改进模块注册表以支持实例存储
refactor(window): 移除OpenGL上下文管理交由RHI处理
feat(assets): 为默认材质添加纹理支持
refactor(timer): 移除移动操作并简化实现
refactor(input): 移除移动操作并简化实现
2026-03-03 02:16:29 +08:00
ChestnutYueyue 92be7d9d18 feat(场景图系统): 实现完整的场景图模块和示例程序
新增场景图系统核心组件:
- Director 场景管理
- Scene 场景容器
- Node 节点层级
- Component 组件系统
- Transform 变换(含锚点)
- Camera 相机
- SpriteRenderer 精灵渲染

添加场景图示例程序,演示:
- 节点层级和变换继承
- 组件系统使用
- 相机设置
- 精灵渲染

同时优化了渲染系统:
- 修改渲染命令结构
- 添加视口适配器
- 改进着色器错误处理
- 增强材质系统功能
2026-03-02 04:50:28 +08:00
ChestnutYueyue b4be0d84f8 feat(渲染器): 实现核心渲染系统模块
添加渲染器模块及相关组件,包括材质、网格、纹理、着色器和统一缓冲区管理。主要变更包括:

- 新增渲染器模块,负责接收渲染命令、批处理和排序
- 实现材质系统支持参数和着色器管理
- 添加网格类管理顶点和索引数据
- 实现纹理加载和绑定功能
- 添加着色器编译和链接功能
- 实现统一缓冲区对象(UBO)管理系统
- 提供默认资源(材质、网格、纹理)
- 支持实例化渲染和命令批处理
- 添加渲染事件系统(OnRenderBegin/Submit/End)
- 完善资源句柄管理机制
- 优化GL资源初始化和清理流程

移除不再使用的IModule接口,调整窗口模块事件触发时机确保GL上下文安全
2026-03-02 00:25:14 +08:00
ChestnutYueyue 46393fd027 refactor(resource): 移除资源系统相关代码
移除资源管理器及其相关组件,包括纹理、着色器、材质、字体、音频等资源类
删除资源加载示例及其构建配置
清理引擎上下文中与资源管理相关的接口和实现
2026-03-01 23:21:54 +08:00
ChestnutYueyue bdf78f5eca feat(resource): 实现资源管理系统及示例程序
新增资源管理系统,支持纹理、字体、着色器、音频等资源的加载和管理:
- 添加 ResourceManager 核心模块
- 实现 Texture、Font、Shader、Audio 等资源类
- 添加 FontAtlas 动态字符图集管理
- 实现 Material 材质系统
- 添加 Text 文本渲染支持
- 新增资源加载示例程序
- 更新构建系统以支持资源加载示例
- 完善文档和 README
2026-03-01 15:39:07 +08:00
ChestnutYueyue ebf73a4492 feat: 添加窗口和输入模块支持并简化示例程序
重构应用类以支持窗口和输入模块,添加相关接口方法
移除碰撞演示示例,简化hello world示例为控制台输出
启用控制台子系统以便在mingw平台查看输出
2026-02-28 22:30:48 +08:00
ChestnutYueyue 00d709fcc8 refactor: 统一智能指针创建函数命名
将 makePtr 和 makeUnique 分别重命名为 shared 和 unique,以提供更简洁的智能指针创建接口
2026-02-26 20:08:04 +08:00
ChestnutYueyue f41600306e refactor: 移除空间索引系统及相关示例代码
移除空间索引系统(QuadTree/SpatialHash)及相关实现代码
删除push_box和flappy_bird示例游戏及其资源文件
清理不再需要的空间索引相关函数调用和头文件引用
2026-02-26 19:41:57 +08:00
ChestnutYueyue 7b1e1299e0 refactor(渲染系统): 重命名 RenderBackend 为 Renderer 并统一相关接口命名
将渲染后端基类从 RenderBackend 重命名为 Renderer,使其更简洁直观
更新所有相关派生类和接口引用,保持命名一致性
修改渲染器相关方法参数类型为 Renderer&
调整部分成员函数命名风格,如 getWidth()/getHeight() 改为 width()/height()
更新文档和注释中的渲染后端相关描述
2026-02-26 00:59:16 +08:00
ChestnutYueyue ea5ecd383f refactor: 统一边界框方法名称为 boundingBox
将 getBoundingBox 方法重命名为 boundingBox,以遵循更简洁的命名规范
同时更新相关文档和示例代码中的调用
2026-02-26 00:55:13 +08:00
ChestnutYueyue 377ec373b0 refactor: 统一方法命名风格,使用更简洁的getter命名
将get前缀的getter方法统一改为更简洁的属性风格命名,例如getPosition()改为pos(),getRotation()改为rot()等,提升代码一致性和可读性

- 修改Window、Sound、Tween、Sprite等类的方法命名
- 更新所有调用点以适应新的命名风格
- 保持原有功能不变,仅重构命名
2026-02-26 00:38:31 +08:00
ChestnutYueyue fa9ee0e2a7 refactor(ui): 移除坐标空间系统并简化文本组件位置处理
移除 CoordinateSpace 枚举及相关功能,改为使用统一的位置处理方式
更新示例代码以使用新的位置设置方法
2026-02-26 00:12:54 +08:00
ChestnutYueyue a6c1f66fff refactor(animation): 移除旧动画系统并添加Tween动画支持
重构动画系统,删除旧动画组件(AnimationClip, AnimatedSprite等),添加新的Tween动画系统。主要变更包括:
1. 删除旧的动画相关文件(animation_clip, animation_frame等)
2. 实现新的Tween动画系统,支持多种缓动函数
3. 更新flappy_bird示例使用新的Tween系统
4. 调整include路径和xmake配置
5. 添加输入系统对控制器和鼠标滚轮的支持
2026-02-25 21:22:35 +08:00
ChestnutYueyue 5039b1d9fc refactor: 重构项目结构,优化代码组织与文件布局
将源代码从Extra2D/src迁移到src目录,统一文件路径
更新xmake构建配置以适配新路径
清理冗余代码文件,合并重复实现
调整头文件包含路径,确保编译通过
优化过渡动画场景实现,移除不必要的动画效果
2026-02-25 06:46:13 +08:00
ChestnutYueyue f08a0bf583 refactor: 统一头文件引用路径并重构项目结构
重构头文件引用路径,移除冗余的extra2d前缀
更新xmake构建配置以反映新的头文件组织方式
添加缺失的核心模块头文件定义
2026-02-25 06:23:53 +08:00
ChestnutYueyue 97220e9417 refactor: 更新json库引用路径为nlohmann/json
统一将项目中所有json/json.hpp引用改为nlohmann/json.hpp,并清理不再需要的头文件路径配置
2026-02-25 06:08:58 +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 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 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 8b2482415e feat(flappy_bird): 添加Flappy Bird游戏实现
新增Flappy Bird游戏完整实现,包含以下功能:
- 游戏场景管理(启动、开始、游戏、结束场景)
- 小鸟物理效果和动画
- 水管生成和移动逻辑
- 碰撞检测和得分系统
- 音效和资源管理
- 适配Switch和PC平台

修复渲染系统问题:
- 修正精灵渲染时的纹理坐标计算
- 添加变换矩阵栈支持
- 优化节点世界变换处理

调整构建系统:
- 添加xmake构建配置
- 支持资源打包和部署
2026-02-12 21:50:21 +08:00
ChestnutYueyue f299d9e765 Initial commit 2026-02-11 19:40:26 +08:00