WaveEngine 是一个面向 Windows x64 的 C++20 / DirectX 12 实时渲染引擎,附带轻量 ImGui 场景编辑器。仓库以可直接阅读和修改的渲染、场景、资产与编辑器代码为主。
- DirectX 12 光栅管线:Mesh Shader、bindless 资源、G-Buffer、阴影、IBL、光照、曝光与 Tonemap。
- 可选 DXR 1.1 Path Tracing;硬件不支持时继续使用光栅路径。
- glTF、OBJ、FBX 静态模型导入,以及 WEMesh v3 缓存和 WEScene v4 场景文件。
- ImGui 编辑器:视口、层级、属性、资产浏览、渲染设置、撤销与重做。
- 异步 CPU 资产构建、主线程 GPU promotion、共享 Mesh 缓存和安全的 GPU 资源关闭。
- 内置 CPU/GPU Trace 录制、独立 WaveTraceViewer,以及可选 RenderDoc 单帧捕获。
- Windows 10/11 x64
- Visual Studio 2022、MSVC v143、Windows SDK
- CMake 4.0.1 或更新版本
- 支持 DirectX 12、Shader Model 6.6 和 Mesh Shader 的显卡
- Path Tracing 另需 DXR Tier 1.1
cmake --preset vs2022-x64
cmake --build --preset editor-debug
& .\Build\Debug\WaveEditor.exe也可以直接使用 CMake:
cmake -S . -B Build -G "Visual Studio 17 2022" -A x64
cmake --build Build --config Debug --target WaveEditor主要构建目标:
| 目标 | 内容 |
|---|---|
WaveRuntime |
Core、Scene、Renderer、RenderGraph、RHI、Shader、Trace |
WaveEditorSupport |
ImGui 编辑器和编辑器专用 Render Pass |
WaveEditor |
编辑器可执行程序 |
WaveTraceViewer |
独立 Trace 查看器 |
Engine/Source/:引擎与编辑器源码。Engine/Shaders/:HLSL Shader。Engine/ThirdParty/:随仓库提供的第三方依赖。Assets/:示例资产。Tools/TraceViewer/:Trace 查看器。docs/architecture/:当前实现说明。
- 仅实现 DirectX 12 后端;Vulkan 只有预留宏入口。
- 重点是静态场景编辑与渲染,不包含完整 Gameplay、物理、音频、Player 和打包发布链。
- RenderGraph 当前使用单 Direct Queue、整资源状态,不含异步 Compute/Copy、subresource barrier、aliasing 或 pass culling。
- glTF 的 AlphaMode、双面、UV1 和逐纹理 sampler 尚未完整实现。
更多细节见当前引擎架构。