MRT:在使用G-buffer的过程类似2D化的后处理,因为渲染会将RT渲染为平面图像
注意:延迟渲染不支持透明物体渲染,使用渲染时候透明物体还是通过前向渲染
后处理方式不同:1.前向渲染在后处理中需要单独渲染一张深度图 2.延迟渲染RT中就是深度图
着色计算不同:延迟渲染光照统一在LightPath中计算,所以只能算一个光照模型,如果需要其他光照模型只能切换Path
1.延迟光照-与延迟渲染区别–1.用更找的Buffer信息2.着色计算用的前向渲染,所以每个材质可以用不同变化
2.Forward±通过分块和索引的方式–深度和法线信息
渲染概念:5.渲染路径-RenderPath
延迟渲染
IMR, TBR, TBDR 还有GPU架构方面的一些理解
Forward vs Deferred vs Forward+ Rendering with DirectX 11
Forward Rendering vs. Deferred Rendering
视频内容已经说了很多,这里概括下
1.对使用大量光照场景优势明显
2.只渲染可见像素,节省计算量
3.对后处理支持良好
4.需要更少shader(不一定是优点)
1.对MSAA支持不好
2.透明物体渲染存在问题
3.占用大量显存带宽
前情提要:链接: 渲染管线介绍笔记.链接: 渲染流水线视频.
优化的基石,不了解渲染管线,谈什么理解优化呢!!
前期思路:延迟渲染手游现在资料应该是原神最多,先看看原神的技术分享
链接: 《原神》主机版渲染技术分享视频.
链接: 原神主机版渲染技术分享笔记.
弋师傅的分享,总结起来是对原神七部分内容(1.阴影、2.多AO融合技术、3.Local light灯光、4.Volumetric Fog体积雾、5.Image Based Light伪装全局光照、6.Interior室内外区分标记、7.HDR Display亮度与色彩空间)的实现与优化分享,具体可以查看链接。
阴影分等级,剔除不是阴影不用算,完全阴影好算,半阴影有选择的集中算
三种AO技术,HBAO常规AO,AO Volume固定场景物体提前美术制作AO,Capsule AO实时计算角色AO,优化靠缩小分辨率再模糊(雾~)。
Clustered deferred lighting(延迟聚簇灯光),灯光随便放,阴影靠bake静态+动态物体阴影,bake阴影使劲使劲花式压缩,减少空间占用。
voxel(体素)化view frustum(视图平截锥体)与Clustered deferred lighting的Clustered对齐,For参数保存贴图,渲染时候注入voxel。
God Ray是单独存储在一个Pass中,叠加在volumetric fog上,效果通透,边缘锐利,调整空间大。
动态天气+Time of day使得不能正常baked cubmap,实时cubemap,每帧处理一个,美术当然可以多放几个。
Relight虽然没有阴影,但可以将24小时shadow和Local Light信息back下来,即同时获得阴影,又可以用于反射,低消耗高表现。
Interior:标记室内外mask,分别对应不同光照条件,并且在过渡做融合
screen space reflection:延迟一帧画面,采样贴图和特效,应用在反射,考虑AO值有效降低漏光瑕疵。
HDR Display:亮度、色彩空间的改变,是从渲染管线的根本开始改变,需要注意hue shift问题。
根据原神的技术分享,虽然内容中没有提到顶点数量优化等,但肯定是存在的。抛出正常优化手段,可以到理解的是游戏渲染管线几乎每一步都是可以优化。理解CPU与GPU在做什么、每一步的操作,获得的信息,输出的信息都会对优化很有影响。
链接: 原视频.
链接: unity移动游戏优化–性能优化维度与工具笔记.
具体内容可以查看笔记,这里只放一些分享者的结论。