原神渲染管线

工具:NsightGrapics

场景:原神酒馆

开局渲了两张图

weather map

wind map

室内场景不受天气影响也没有云。

渲染GBUFFER

总结:

虽然是延迟渲染的Gbuffer,但角色完全是在多个渲染目标上用前向的方式渲染了一遍。

在后期的延迟渲染pass会用一张mask,或者是模板测试,把角色隔开,渲染场景

面部阴影是一张深度图控制,看上去像是手绘的,没有生成的完美

描边

描边在Gbuffer里面渲完了,猜测是直接用世界空间法线(color0)或者是深度做边缘检测做的

描边的颜色不一样

推测是用这张mask做区分

Color0的G通道和Color2的A通道确实一样

之后创了两张RT分别把世界空间法向和深度存进去了

之后是ScreenSpeaceReflection屏幕空间反射的pass 一堆操作不知道在干嘛

Part2

之后是降低采样

屏幕空间的AO

用深度+法线图做的

HighQualtyDyanamicAO的pass以及一系列pass

对ao做了些优化

之后是阴影贴图

场景中存在多个点光源

之后渲染了一张

角色的Mask填充了法线贴图的那个Gbuffer

前向渲染了几个物体,天空和云,但室内场景看不到

渲染透明物体,场景中没什么透明物体

体积光是在渲染透明物体的阶段渲染的,看结果不像是光线步进

进入后处理,运动模糊后经过bloom直接进UberPass了

运动模糊用到了人物的那张mask,推测角色不参与运动模

bloom

之后就是UI相机

uber后