docs: update TEST_SPEC.md and README.md to reflect new directory structure
- TEST_SPEC.md: Updated test directory structure to reflect Core/Asset, Core/IO, and Resources/<Type> subdirectories - TEST_SPEC.md: Updated module names and test counts (852 total) - TEST_SPEC.md: Updated build commands for new Resources subdirectories - README.md: Updated engine structure with Core/Asset/ and Core/IO/ - README.md: Updated Resources section with layered architecture - README.md: Updated test coverage table with accurate counts
This commit is contained in:
170
README.md
170
README.md
@@ -29,7 +29,7 @@ XCEngine/
|
||||
│ │ │ ├── Reverbation.h # 混响效果
|
||||
│ │ │ ├── Equalizer.h # 均衡器
|
||||
│ │ │ ├── IAudioEffect.h # 音频效果接口
|
||||
│ │ │ ├── WASAPI/ # WASAPI 后端实现
|
||||
│ │ │ ├── WindowsAudioBackend.h # Windows 音频后端
|
||||
│ │ │ └── IAudioBackend.h # 音频后端接口
|
||||
│ │ ├── Components/ # 游戏组件系统
|
||||
│ │ │ ├── Component.h # 组件基类
|
||||
@@ -37,12 +37,45 @@ XCEngine/
|
||||
│ │ │ ├── TransformComponent.h # 变换组件
|
||||
│ │ │ ├── AudioSourceComponent.h # 音频源组件
|
||||
│ │ │ └── AudioListenerComponent.h # 音频监听器组件
|
||||
│ │ ├── Containers/ # 容器模块
|
||||
│ │ │ ├── Array.h # 动态数组
|
||||
│ │ │ ├── String.h # 字符串类
|
||||
│ │ │ ├── HashMap.h # 哈希表
|
||||
│ │ │ └── Containers.h # 模块统一头文件
|
||||
│ │ ├── Core/ # 核心基础模块
|
||||
│ │ │ ├── Asset/ # 资源系统核心
|
||||
│ │ │ │ ├── IResource.h # 资源接口
|
||||
│ │ │ │ ├── ResourceTypes.h # 资源类型定义
|
||||
│ │ │ │ ├── ResourceHandle.h # 资源句柄
|
||||
│ │ │ │ ├── ResourceManager.h # 资源管理器
|
||||
│ │ │ │ ├── ResourceCache.h # 资源缓存
|
||||
│ │ │ │ ├── AsyncLoader.h # 异步加载器
|
||||
│ │ │ │ ├── ResourceDependencyGraph.h # 依赖图
|
||||
│ │ │ │ └── ImportSettings.h # 导入设置基类
|
||||
│ │ │ ├── IO/ # IO 系统
|
||||
│ │ │ │ ├── IResourceLoader.h # 资源加载器接口
|
||||
│ │ │ │ ├── ResourceFileSystem.h # 资源文件系统
|
||||
│ │ │ │ ├── ResourcePath.h # 资源路径
|
||||
│ │ │ │ ├── FileArchive.h # 文件归档
|
||||
│ │ │ │ └── ResourcePackage.h # 资源包
|
||||
│ │ │ ├── Containers/ # 容器模块
|
||||
│ │ │ │ ├── Array.h # 动态数组
|
||||
│ │ │ │ ├── String.h # 字符串类
|
||||
│ │ │ │ ├── HashMap.h # 哈希表
|
||||
│ │ │ │ └── Containers.h # 模块统一头文件
|
||||
│ │ │ ├── Math/ # 数学库
|
||||
│ │ │ │ ├── Vector2.h # 二维向量
|
||||
│ │ │ │ ├── Vector3.h # 三维向量
|
||||
│ │ │ │ ├── Vector4.h # 四维向量
|
||||
│ │ │ │ ├── Matrix3.h # 3x3 矩阵
|
||||
│ │ │ │ ├── Matrix4.h # 4x4 矩阵
|
||||
│ │ │ │ ├── Quaternion.h # 四元数
|
||||
│ │ │ │ ├── Transform.h # 变换
|
||||
│ │ │ │ ├── Color.h # 颜色
|
||||
│ │ │ │ ├── Rect.h # 矩形
|
||||
│ │ │ │ ├── Sphere.h # 球体
|
||||
│ │ │ │ ├── Box.h # 盒子
|
||||
│ │ │ │ ├── Plane.h # 平面
|
||||
│ │ │ │ ├── Ray.h # 射线
|
||||
│ │ │ │ ├── AABB.h # 轴对齐包围盒
|
||||
│ │ │ │ ├── Bounds.h # 包围体
|
||||
│ │ │ │ ├── Frustum.h # 视锥体
|
||||
│ │ │ │ └── Math.h # 数学库统一头文件
|
||||
│ │ │ ├── Types.h # 基础类型别名
|
||||
│ │ │ ├── RefCounted.h # 引用计数基类
|
||||
│ │ │ ├── SmartPtr.h # 智能指针
|
||||
@@ -58,24 +91,6 @@ XCEngine/
|
||||
│ │ │ ├── ILogSink.h # 日志槽接口
|
||||
│ │ │ ├── Debug.h # 调试宏
|
||||
│ │ │ └── Profiler.h # 性能分析
|
||||
│ │ ├── Math/ # 数学库
|
||||
│ │ │ ├── Vector2.h # 二维向量
|
||||
│ │ │ ├── Vector3.h # 三维向量
|
||||
│ │ │ ├── Vector4.h # 四维向量
|
||||
│ │ │ ├── Matrix3.h # 3x3 矩阵
|
||||
│ │ │ ├── Matrix4.h # 4x4 矩阵
|
||||
│ │ │ ├── Quaternion.h # 四元数
|
||||
│ │ │ ├── Transform.h # 变换
|
||||
│ │ │ ├── Color.h # 颜色
|
||||
│ │ │ ├── Rect.h # 矩形
|
||||
│ │ │ ├── Sphere.h # 球体
|
||||
│ │ │ ├── Box.h # 盒子
|
||||
│ │ │ ├── Plane.h # 平面
|
||||
│ │ │ ├── Ray.h # 射线
|
||||
│ │ │ ├── AABB.h # 轴对齐包围盒
|
||||
│ │ │ ├── Bounds.h # 包围体
|
||||
│ │ │ └── Frustum.h # 视锥体
|
||||
│ │ │ └── Math.h # 数学库统一头文件
|
||||
│ │ ├── Memory/ # 内存管理模块
|
||||
│ │ │ ├── Allocator.h # 分配器接口
|
||||
│ │ │ ├── LinearAllocator.h # 线性分配器
|
||||
@@ -93,33 +108,25 @@ XCEngine/
|
||||
│ │ │ ├── TaskSystem.h # 任务系统
|
||||
│ │ │ ├── TaskSystemConfig.h # 任务系统配置
|
||||
│ │ │ └── Threading.h # 线程模块统一头文件
|
||||
│ │ ├── Resources/ # 资源管理模块
|
||||
│ │ │ ├── ResourceTypes.h # 资源类型定义
|
||||
│ │ │ ├── IResource.h # 资源接口
|
||||
│ │ │ ├── ResourceHandle.h # 资源句柄
|
||||
│ │ │ ├── ResourceManager.h # 资源管理器
|
||||
│ │ │ ├── ResourceCache.h # 资源缓存
|
||||
│ │ │ ├── ResourcePackage.h # 资源包
|
||||
│ │ │ ├── ResourceFileSystem.h # 资源文件系统
|
||||
│ │ │ ├── ResourcePath.h # 资源路径
|
||||
│ │ │ ├── FileArchive.h # 文件归档
|
||||
│ │ │ ├── ResourceDependencyGraph.h # 依赖图
|
||||
│ │ │ ├── ImportSettings.h # 导入设置基类
|
||||
│ │ │ ├── IResourceLoader.h # 资源加载器接口
|
||||
│ │ │ ├── AsyncLoader.h # 异步加载器
|
||||
│ │ │ ├── Texture.h # 纹理资源
|
||||
│ │ │ ├── TextureLoader.h # 纹理加载器
|
||||
│ │ │ ├── TextureImportSettings.h # 纹理导入设置
|
||||
│ │ │ ├── Mesh.h # 网格资源
|
||||
│ │ │ ├── MeshLoader.h # 网格加载器
|
||||
│ │ │ ├── MeshImportSettings.h # 网格导入设置
|
||||
│ │ │ ├── Shader.h # 着色器资源
|
||||
│ │ │ ├── ShaderLoader.h # 着色器加载器
|
||||
│ │ │ ├── Material.h # 材质资源
|
||||
│ │ │ ├── MaterialLoader.h # 材质加载器
|
||||
│ │ │ ├── AudioClip.h # 音频资源
|
||||
│ │ │ ├── AudioLoader.h # 音频加载器
|
||||
│ │ │ └── Resources.h # 资源模块统一头文件
|
||||
│ │ ├── Resources/ # 资源管理模块 (按类型分目录)
|
||||
│ │ │ ├── Texture/ # 纹理资源
|
||||
│ │ │ │ ├── Texture.h
|
||||
│ │ │ │ ├── TextureLoader.h
|
||||
│ │ │ │ └── TextureImportSettings.h
|
||||
│ │ │ ├── Mesh/ # 网格资源
|
||||
│ │ │ │ ├── Mesh.h
|
||||
│ │ │ │ ├── MeshLoader.h
|
||||
│ │ │ │ └── MeshImportSettings.h
|
||||
│ │ │ ├── Shader/ # 着色器资源
|
||||
│ │ │ │ ├── Shader.h
|
||||
│ │ │ │ └── ShaderLoader.h
|
||||
│ │ │ ├── Material/ # 材质资源
|
||||
│ │ │ │ ├── Material.h
|
||||
│ │ │ │ └── MaterialLoader.h
|
||||
│ │ │ ├── AudioClip/ # 音频资源
|
||||
│ │ │ │ ├── AudioClip.h
|
||||
│ │ │ │ └── AudioLoader.h
|
||||
│ │ │ └── Resources.h # 资源模块统一头文件
|
||||
│ │ ├── Scene/ # 场景管理模块
|
||||
│ │ │ ├── Scene.h # 场景类
|
||||
│ │ │ └── SceneManager.h # 场景管理器
|
||||
@@ -183,11 +190,18 @@ XCEngine/
|
||||
│ │ ├── Audio/
|
||||
│ │ ├── Containers/
|
||||
│ │ ├── Core/
|
||||
│ │ │ ├── Asset/ # Core/Asset 实现
|
||||
│ │ │ └── IO/ # Core/IO 实现
|
||||
│ │ ├── Debug/
|
||||
│ │ ├── Math/
|
||||
│ │ ├── Memory/
|
||||
│ │ ├── Threading/
|
||||
│ │ ├── Resources/
|
||||
│ │ │ ├── Texture/
|
||||
│ │ │ ├── Mesh/
|
||||
│ │ │ ├── Shader/
|
||||
│ │ │ ├── Material/
|
||||
│ │ │ └── AudioClip/
|
||||
│ │ ├── Scene/
|
||||
│ │ └── RHI/
|
||||
│ └── third_party/ # 第三方库
|
||||
@@ -195,15 +209,23 @@ XCEngine/
|
||||
│ └── stb/ # 图像处理库
|
||||
│
|
||||
├── tests/ # 单元测试
|
||||
│ ├── math/ # 数学库测试
|
||||
│ ├── core/ # 核心模块测试
|
||||
│ │ ├── Asset/ # Core/Asset 模块测试
|
||||
│ │ └── IO/ # Core/IO 模块测试
|
||||
│ ├── containers/ # 容器测试
|
||||
│ ├── memory/ # 内存管理测试
|
||||
│ ├── threading/ # 线程模块测试
|
||||
│ ├── core/ # 核心模块测试
|
||||
│ ├── debug/ # 调试模块测试
|
||||
│ ├── math/ # 数学库测试
|
||||
│ ├── Components/ # 组件测试
|
||||
│ ├── Scene/ # 场景测试
|
||||
│ ├── Resources/ # 资源管理测试
|
||||
│ │ ├── Texture/ # 纹理资源测试
|
||||
│ │ ├── Mesh/ # 网格资源测试
|
||||
│ │ ├── Material/ # 材质资源测试
|
||||
│ │ ├── Shader/ # 着色器资源测试
|
||||
│ │ └── AudioClip/ # 音频资源测试
|
||||
│ ├── input/ # 输入模块测试
|
||||
│ └── RHI/ # RHI 抽象层测试
|
||||
│ ├── unit/ # RHI 抽象层测试
|
||||
│ ├── OpenGL/ # OpenGL 后端测试
|
||||
@@ -355,14 +377,30 @@ build/tests/threading/Debug/xcengine_threading_tests.exe
|
||||
|
||||
### Resources(资源管理)
|
||||
|
||||
XCEngine 资源系统采用分层架构:
|
||||
|
||||
#### Core/Asset(资源系统核心)
|
||||
- **IResource**: 资源接口基类
|
||||
- **ResourceTypes**: 资源类型定义(GUID、状态等)
|
||||
- **ResourceHandle**: 资源句柄,安全引用资源
|
||||
- **ResourceManager**: 全局资源管理器,资源加载/卸载
|
||||
- **ResourceCache**: 资源缓存,支持引用计数
|
||||
- **ResourceHandle**: 资源句柄,安全引用资源
|
||||
- **ResourcePackage**: 资源包批量管理
|
||||
- **AsyncLoader**: 异步资源加载器
|
||||
- **ImportSettings**: 资源导入设置(纹理/网格/材质)
|
||||
- **ResourceDependencyGraph**: 资源依赖图管理
|
||||
|
||||
#### Core/IO(资源 IO 系统)
|
||||
- **IResourceLoader**: 资源加载器接口
|
||||
- **Texture/Mesh/Shader/Material/AudioClip**: 各类资源类型
|
||||
- **ResourceFileSystem**: 资源文件系统
|
||||
- **ResourcePath**: 资源路径解析
|
||||
- **FileArchive**: 文件归档支持
|
||||
- **ResourcePackage**: 资源包批量管理
|
||||
|
||||
#### Resources/<Type>(具体资源类型)
|
||||
- **Texture**: 纹理资源(Texture.h、TextureLoader.h、TextureImportSettings.h)
|
||||
- **Mesh**: 网格资源(Mesh.h、MeshLoader.h、MeshImportSettings.h)
|
||||
- **Shader**: 着色器资源(Shader.h、ShaderLoader.h)
|
||||
- **Material**: 材质资源(Material.h、MaterialLoader.h)
|
||||
- **AudioClip**: 音频资源(AudioClip.h、AudioLoader.h)
|
||||
|
||||
### Scene(场景管理)
|
||||
|
||||
@@ -401,15 +439,23 @@ XCEngine 采用 RHI(Render Hardware Interface)抽象层设计,支持多渲
|
||||
|
||||
| 模块 | 测试用例数 |
|
||||
|------|-----------|
|
||||
| Containers | 51+ |
|
||||
| Math | 140 |
|
||||
| Core | 25 |
|
||||
| Containers | 51 |
|
||||
| Memory | 19 |
|
||||
| Threading | 13 |
|
||||
| Math | 5+ |
|
||||
| Components | 2+ |
|
||||
| Scene | 2+ |
|
||||
| Resources | 4+ |
|
||||
| Debug | 8 |
|
||||
| Components | 39 |
|
||||
| Scene | 14 |
|
||||
| Resources/Texture | 36 |
|
||||
| Resources/Mesh | 29 |
|
||||
| Resources/Material | 14 |
|
||||
| Resources/Shader | 13 |
|
||||
| Resources/AudioClip | 15 |
|
||||
| Input | 40 |
|
||||
| RHI (OpenGL) | 41 (unit 14 + integration 5) |
|
||||
| RHI (D3D12) | 23 (unit 15 + integration 8) |
|
||||
| **总计** | **852 (+1 disabled)** |
|
||||
|
||||
## mvs 示例程序
|
||||
|
||||
|
||||
Reference in New Issue
Block a user