熟悉Modern C++编程技术,如多态机制,虚函数原理,智能指针(RAII),右值引用,协程等。熟悉STL中的容器的底层原理,如vector等。熟悉STL中的算法的底层原理,如sort等。
熟悉计算机图形学基本原理。曾自学GAMES101、GAMES202等图形学课程。熟悉现代可编程图形渲染管线(包括前向渲染和延迟渲染等)及光线追踪渲染管线和图形API(OpenGL),熟悉Shader language(GLSL)。
熟悉软阴影、全局光照、PBR材质等技术原理。曾复现过PCF、PCSS等软阴影技术、复现过PRT、SSR等全局光照技术、复现过Blinn-Phong、Cook-Torrance等光照模型。了解GPU架构,了解warp、SM、block、grid等概念。
熟悉骨骼动画,如Skinning,Forward Kinematic、Inverse Kinematic等概念。了解AI智能体控制算法如有限状态机、行为树等。
拥有良好的英文文献阅读能力以及代码复现能力。了解Lumen技术、对马岛之魂草地渲染技术、孤岛惊魂6混合光线追踪技术等。
一、基于Unity SRP实现的高度自定义可编程渲染管线
主要方案:1、实现SRP Batcher、GPU Instancing 等合批技术减少渲染状态的设置次数和draw call次数。 2.基于PBR Metallic Roughness材质模型搭建延迟渲染管线。 3.基于级联阴影贴图(CSM)和PCSS软阴影搭建阴影渲染Pass。 4.自行搭建了一套后处理框架,实现了Bloom等后处理特效。 5.实现粒子的基于相机距离的渐变、软粒子、Distortion等效果。
成果分析: 基于Unity SRP搭建了一套高度自定义渲染管线,使用行业技术标准进行材质、阴影、后处理特效等feature的实现。
二、基于CPU实现的光线追踪渲染器
主要方案:1、采用SAH加速结构加速光线与场景中物体的求交。2、采用了仿薄透镜物理摄像机实现景深效果。3、基于超采样实现图像反走样(抗锯齿)。4、基于Microfacet原理实现PBR材质。5、基于俄罗斯轮盘赌和重要性采样实现路径追踪。6、采用多线程技术加速采样。
成果分析: 通过采用基于Microfacet原理的PBR材质、仿薄透镜摄像机以及路径追踪技术使得生成的图像十分接近现实世界,同时在SAH加速结构以及多线程技术的帮助下提升了图像的生成速度。
展示了全局光照相关(屏幕空间反射SSR、预计算辐照度传输PRT)以及阴影贴图技术(软阴影PCSS)的实现。
展示了基于PBR Metallic Roughness材质模型搭建延迟渲染管线对于头盔的基于物理的渲染,以及实现的粒子的基于相机距离的渐变、软粒子、Distortion等效果。