Overwatch 渲染流程
画面:
总体渲染采用了经典的Defer Rendering,采用4个GBuffer,分别为
G1:Albedo
G2(暂时未知,看着应该像Smooth或者Metallic)
G3:Normal(而且看起来像是WorldSpaceNormal)
G4:未知
渲染物体也是先采用了PreZ pass,渲染出Depth后对后续的渲染物做Culling来优化性能
着色部分采用了经典的PBR,全局光照部分采用球谐光模拟,根据DXBC的代码推测应该也是用的通常的3阶9项的球谐函数来做拟合。
着色后输出(未进行ToneMap)
主题着色完成以后又进行了一系列的DrawCall,推测应该是半透明物件的渲染。
反射效果:屏幕空间反射,依靠DepthMap和NormalMap来构建
天空:CubeMap
ToneMap:
总体看下来还是比较常规的,用到的黑科技感觉不是很多(虽然只看了一点点),Shader之类的看着有点累,随心情看。
不过也有可能是画质开的比较低的原因,感觉很多该有的Post效果都没有看见(比如各种AO)2333