变更记录:DX12 初始框架
提交日期: 2026-03-26
提交哈希: 60f73b5
变更类型: 初始化项目
变更概述
本次提交是项目的初始版本,建立了完整的引擎基础框架,包括组件系统、平台抽象层、内容加载器和测试框架。
新增模块
Engine/Common/
| 文件 |
说明 |
CommonHeader.h |
公共头文件,定义基础类型和宏 |
Id.h |
强类型 ID 系统 |
XEnginType.h |
引擎类型定义 |
Engine/Components/
| 文件 |
说明 |
Entity.cpp/.h |
实体组件实现 |
Script.cpp/.h |
脚本组件实现 |
Transform.cpp/.h |
变换组件实现 |
Engine/EngineAPI/
| 文件 |
说明 |
Camera.h |
相机 API |
GameEntity.h |
游戏实体 API |
Light.h |
光源 API |
ScriptComponent.h |
脚本组件 API |
TransformComponent.h |
变换组件 API |
Engine/Platform/
| 文件 |
说明 |
Platform.h |
平台抽象接口 |
PlatformTypes.h |
平台类型定义 |
PlatformWin32.cpp |
Win32 平台实现 |
Window.cpp/.h |
窗口管理 |
Engine/Content/
| 文件 |
说明 |
ContentLoader.cpp/.h |
内容加载器 |
ContentToEngine.cpp/.h |
内容到引擎转换 |
Engine/Utilities/
| 文件 |
说明 |
FreeList.h |
空闲列表内存池 |
IOStream.h |
IO 流工具 |
Math.h |
数学工具 |
MathTypes.h |
数学类型 |
Vector.h |
向量容器 |
Utilities.h |
通用工具 |
ContentTools/
| 文件 |
说明 |
FbxImporter.cpp/.h |
FBX 模型导入 |
Geometry.cpp/.h |
几何处理 |
MeshPrimitives.cpp/.h |
网格图元 |
EngineTest/
| 文件 |
说明 |
Main.cpp |
测试入口 |
Test.h |
测试框架基类 |
TestEntityComponent.h |
实体组件测试 |
ShaderComponents.cpp/.h |
着色器组件测试 |
Lights.cpp |
光源测试 |
RenderItem.cpp |
渲染项测试 |
核心设计
1. 强类型 ID 系统
通过宏生成类型安全的 ID,支持代数校验防止使用已删除对象。
2. 组件系统架构
- EngineAPI 层: 对外契约,暴露稳定接口
- Components 层: 运行时实现,管理内部存储
3. 平台抽象
Win32 平台实现封装,上层代码通过抽象接口访问平台功能。
相关文档