RGS 是一个在 Win32 下使用 C++ 开发的软件光栅渲染器。该光栅器指向两个不同的版本,其中一个为公益性的渲染管线学习项目,配备有完整的视频讲解;而另外一个则是在学习版的项目上迭代而来的个人兴趣项目,该项目比学习版更加庞大,但不提供教学支持
- 学习版实现了简单的光栅化渲染管线(顶点装配->顶点着色器->图元组装->光栅化->片段着色器)、Blinn-Phong 光照模型、可自定义着色器以及一些相关杂项(帧缓存、基于 stb_image 的材质、相机、模型加载、自建数学库和基于 Win32 的窗口管理)
- 完整版则在学习版基础上添加简单的 JobSystem 以极大地提高渲染速度、抗走样(MSAA)、PBR 渲染模型、PBR 相关预计算、基于 ImGui 的控制窗口、层管理以及简单的 RenderCommand && Pipeline
完整版项目仍需完善补充,未来将持续更新
- 测试环境
CPU: AMD R7-7840HS
操作系统:Windows-11
编译器:MSVC, Clang
- 快速开始
git clone https://github.com/seehours/rgs
cd rgs
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
# 然后点击 RGS.exe 运行
- PBR 球体渲染
- Blinn-Phong 模型
- Job System 提速(右侧 8 fps -> 67 fps)
- MSAA 抗走样