4881aee70a
refactor: 将截图功能移到RHI模块的D3D12Screenshot类
2026-03-15 15:39:15 +08:00
c79533c436
fix: 修复截图帧数不一致问题,改为30帧
2026-03-15 15:15:59 +08:00
60db4b77f8
fix: 截图帧数改为30帧
2026-03-15 15:09:58 +08:00
c59b8c501c
refactor: 用Engine Logger替换旧日志函数
2026-03-15 14:59:33 +08:00
3767f3a6c5
fix: 修复Logger模块Bug\n- Logger.h: m_categoryEnabled数组初始化错误,只有第一个元素为true\n- FileLogSink: 添加文件关闭时自动重开逻辑\n- main.cpp: 集成Engine Logger
2026-03-15 14:55:23 +08:00
c6d7ef4c39
feat: 集成engine日志系统到D3D12测试程序\n- FileLogSink每次写入后刷新\n- main.cpp使用Logger输出日志
2026-03-15 14:25:36 +08:00
e7b32e55f7
refactor: 将stbi库从tests/D3D12移动到engine/third_party/stbi
2026-03-15 13:57:47 +08:00
549178de35
fix: 修复D3D12截图功能 - 使用正确的buffer尺寸和row pitch获取
2026-03-15 13:54:58 +08:00
3d285fa98a
fix: 修复截图保存功能和CreateCommittedResource参数问题
...
- 修复SaveScreenshot函数中D3D12_RESOURCE_DESC的初始化
- 添加完整的SampleDesc和Layout字段
- 修复从PRESENT状态正确转换到COPY_SOURCE进行读取
- 启用D3D12 Debug Layer以获取更好的调试信息
- 添加日志输出到文件以便捕获调试信息
2026-03-15 12:51:18 +08:00
1a5bcd75d9
feat: 添加截图保存Debug工具
...
- 添加SaveScreenshot函数使用D3D12 Readback方式读取渲染目标
- 保存为PPM格式(在第2帧自动保存到screenshot.ppm)
- 程序可自行测试渲染结果
2026-03-15 03:29:28 +08:00
17c8ea46c5
feat: 实现D3D12Fence封装
...
- 添加D3D12Fence类封装ID3D12Fence
- 包含Signal/Wait/GetCompletedValue等同步功能
- 更新测试项目使用新的封装类
2026-03-15 03:23:39 +08:00
8fb11dc650
feat: 实现D3D12CommandQueue和D3D12CommandAllocator
...
- 添加D3D12CommandQueue类封装ID3D12CommandQueue
- 添加D3D12CommandAllocator类封装ID3D12CommandAllocator
- 在D3D12Enum.h中添加CommandQueueType转换函数
- 在CMake中添加Res文件夹自动拷贝到输出目录
- 更新测试项目使用新的封装类
2026-03-15 03:15:12 +08:00
cba4f9c838
feat: 实现D3D12Device类,整合D3D12Enum.h转换函数
...
- 简化D3D12Device,仅封装ID3D12Device和IDXGIFactory
- 将D3D12Common.h中的转换函数合并到D3D12Enum.h
- 添加ResourceStates枚举到Enums.h
- 更新测试项目使用新的D3D12Device类
- 更新CMake配置
2026-03-15 03:02:15 +08:00
be6abd7bf6
refactor: RHI枚举改为独立编号,添加D3D12转换层
2026-03-15 02:24:56 +08:00
3e89489078
refactor: 添加RHI Enums.h并在D3D12测试中替换部分D3D12枚举
2026-03-15 02:05:28 +08:00
f427eb2588
refactor: 删除旧的RHI实现,添加D3D12测试用例和第二阶段计划
2026-03-15 01:58:30 +08:00
83fd517974
feat: 实现日志与调试系统(Debug模块)
...
- LogLevel: 日志级别枚举 (Verbose, Debug, Info, Warning, Error, Fatal)
- LogCategory: 日志分类 (General, Rendering, Physics, Memory, Threading等)
- ILogSink: 日志输出接口
- ConsoleLogSink: 控制台输出, 支持Windows颜色
- FileLogSink: 文件日志输出
- FileWriter: 文件写入器
- Logger: 日志管理器, 支持多sink, 分类控制
- Profiler: 性能分析器
- 单元测试覆盖
2026-03-13 20:53:57 +08:00
34c75e7129
feat: 实现Containers、Memory、Threading核心模块及单元测试
...
- Containers: String, Array, HashMap 容器实现及测试
- Memory: Allocator, LinearAllocator, PoolAllocator, ProxyAllocator, MemoryManager 实现及测试
- Threading: Mutex, SpinLock, ReadWriteLock, Thread, Task, TaskSystem 实现及测试
- 修复Windows平台兼容性: _aligned_malloc, std::hash特化
- 修复构建错误和测试用例问题
2026-03-13 20:37:08 +08:00
508ee0bdc8
Fix math unit tests: Plane, Frustum, Quaternion, Bounds
...
- Plane.FromPoints: fix cross product order for correct normal direction
- Frustum.Intersects: fix inverted logic for bounds intersection
- LookRotation: add edge case handling when forward is parallel to up
- Bounds: fix test expectations (GT -> GE, adjust values)
- Quaternion: fix test expectations for vector rotation
- ToEulerAngles: simplify test to verify identity quaternion
2026-03-13 19:23:12 +08:00
7c54a62f9e
feat: 添加Math库和Google Test测试框架
...
- 新增Math库: Vector2/3/4, Matrix3/4, Quaternion, Transform, Color等
- 新增测试框架: Google Test (gtest)
- 新增140个单元测试,覆盖Vector, Matrix, Quaternion, Geometry
- VolumeRenderer支持vcpkg的NanoVDB
- 添加TESTING.md测试文档
2026-03-13 18:43:14 +08:00