Skip to content

Repository files navigation

WaveEngine

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 尚未完整实现。

更多细节见当前引擎架构

About

AI-native C++20 real-time rendering engine and ImGui editor for Windows, featuring DirectX 12, Mesh Shaders, bindless rendering, RenderGraph, DXR path tracing, MCP automation, and WaveTrace profiling.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages