我的主要研究方向是计算机图形学/游戏开发,可以在 Github 找到我做的个人项目。
Direct3D 12 小引擎
参考了 D3D12 龙书,封装的简易渲染引擎框架。
包含内容:模型加载 + 光照 + 阴影 + 骨骼动画 + 第三人称相机 + 基础的角色控制
演示图片:
Vulkan Graphics Engine
基于 Vulkan 的渲染引擎框架。
已实现的内容:
- 图片库:使用 WIC 和 STBImage,封装了基于 WIC 的立方体图。
- 模型库:使用 Assimp,可稳定加载的模型格式有 obj(不带动画),fbx(带动画)。
- 渲染效果:基于 CPU 的简易粒子效果和泛光屏幕特效,基于 PCF 的阴影。
- GUI:接入了 dear-ImGui,通过修改 OnGUI 方法来更改 GUI 的显示。
演示图片:
Soft Renderer
仿图形渲染管线设计的CPU软渲染器。
已实现功能:
- 基于SDL2的窗口显示和绘制
- 基础光栅化算法,三维空间内绘制点,线,三角形
- Camera摄像机自由移动功能
- 深度缓冲和基于绕序的背面剔除
- 纹理映射(最近邻过滤和线性过滤)和各种纹理寻址模式
- 基本的基于Alpha分量的颜色混合
- 基本的Blinn-Phong和BRDF光照算法
- 基本的MSAA反走样算法
- 曲面细分,曲面简化,生成曲线/曲面
待完善功能:
- 建立完备的数学库
- 纹理Mipmap
- 完整的几何细分和LOD支持
Unity Custom SRP
用于测试 Unity 自定义渲染管线的项目,参考自 Catlike Unity 教程。
Verse Engine
现代 C++ 3D 轻量游戏引擎,目前待开发完善。
引擎文档主页:verseengine.net
演示图片: