![pt2.png](https://static.wixstatic.com/media/bd49bc_97781856fbbb43f9b879aff3490f82ca~mv2.png/v1/fill/w_867,h_446,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/bd49bc_97781856fbbb43f9b879aff3490f82ca~mv2.png)
个人项目
C++ | DirectX 11 | HLSL
基于 Cook-Torrance BRDF 的 PBR,Split-Sum IBL,卡通着色以及 Oren-Nayar & Minnaert 效果的渲染器。屏幕空间选择物体和法线偏移轮廓描边
C++ | DirectX 11 | Procedural Generation | HSR
一款类似 minecaft 的游戏,具有基于Perlin 噪声的程序化地图生成、基于体素的室内和室外光传播以及使用多线程处理实时地图加载和销毁
Unreal Engine 5 | SDF | Tone mapping
Cell Shading、 SDF 面部阴影、法线偏移轮廓描边、模板缓冲区的边缘检测轮廓、色调映射和头发高光的MatCap实现卡通渲染。
C++ | BVH | Raycast
一款类似 minecaft 的游戏,具有基于 Perlin 噪声的程序地图生成、基于体素的室内和室外光传播,以及使用多线程处理实时地图加载和销毁
C++ | DirecX11 | NetSystem | Hex Grid
六宫格回合制游戏,通过 TCP 进行网络通信。坦克使用DFS寻找路径,并使用Catmull-Rom 曲线平滑其移动路径。
Unreal Engine 5 | Substance Designer | Material
在 Substance Designer 中创建油画纹理蒙版,实现风格化的漫反射和高光,使用 SDF 模拟环境光遮蔽,并使用 SD 材质完成阴影遮罩
C++ | Python | Exporter
一款类似《毁灭战士》的第一人称射击游戏,具有多人分屏功能。所有武器均由xml 数据驱动。Raycast与场景和碰撞器求交。实现了Billboard Sprite Rendering、定向光、点光源和聚光灯。
C++ | HLSL | 2D Raycast | Heat Map
一款 2D 坦克射击游戏,具有AABB 的 2D 碰撞、预防性碰撞子弹、简单的路径搜索AI、基于HeatMap的地图生成、2D 快速网格光线投射。