Pd2Engine 是一款易于理解,易于开发,易于调试的现代C++3D实时渲染引擎(WIP)
- 基于现代C++(23)开发
- 独立从零开始自学,设计,和开发,为了切实保证学习和工程能力,文档及代码为完全手写,为完整原创作品,未使用AI生成
- 采用现代图形/引擎技术, 项目架构完整,技术选型偏稳健务实,不激进
- 预期定位是一个较佳的,完整的,现代的渲染引擎架构
- 基于render graph的PBR渲染
- Vulkan抽象层封装
- 支持异步加载,热重载的运行时资源管理,材质管理
- 易于扩展的资产管理模块,支持GLTF模型
- 数据驱动架构的ECS场景图
- 支持多线程,支持渲染命令录制和重放,附带job system
- 平台层,RHI层已预留,易于扩展
目前项目只支持在Windows,MSVC工具链上构建和开发,其他编译器和平台预留扩展性,但目前尚不支持
- Git(clone即可,不带submodule)
- Vcpkg
- CMake 3.31
- Vulkan SDK(需要支持验证层)
- MSVC build tools
- (可选但推荐)asciidoc(vscode的asciidoctor插件并打开kroki预览功能)
- (可选但推荐)doxygen + doxybook2 + mkdocs
- (可选但推荐)clangd ≥21
- git clone 本项目
- 项目根目录下vcpkg install
- 项目根目录下CMakeUserPresets.json.template去掉".template",并配置合适的参数
- 使用CMake构建项目
目前为编程式实现,不支持脚本,暂时没有编辑器,但提供了场景描述接口,请参考samples文件夹(TODO)
项目代码为本人原创作品,遵循Apache 2.0 协议
项目文档为本人原创作品,遵循CC-BY 4.0 协议