虚幻引擎4的实时渲染流程(直播总结)
直播地址:https://www.bilibili.com/video/av35615021/
以上4副图为直播的精华。接下来记录一下直播的知识要点:
实时渲染流程:
CPU: Logic -> Culling -> Draw Call
GPU:Vertex Shader -> Rasterization - > Pixel Shader
Pixel Shader :PrePass -> BasePass -> Lighting -> Reflection -> Translucency -> Posss Procession
1、CPU:Logic:
动画、碰撞、AI、出现/消失、加速算法、其他。
2、CPU:Culling:
1):Distance:
2):Frustum:
实行强制冻结渲染(FreezeRendering)指令后移动镜头,就能够确认视野外绘制了什么。如果那个时点上,视野外本应剔除的3D对象被描绘了出来,就会显示出不能被剔除的理由。在这种情况下需要特别注意确认包围球的设置。
3):Occlusion:
https://zhuanlan.zhihu.com/p/133513931
3、CPU:Draw Call
批处理合并:只有当对象共享相同的材质时才能实现合批,因此,如果你想较好的实现合批应该专注于尽可能让更多的游戏对象共享材质,如果有两个仅纹理不同其他都相同的材质,可以把这两个纹理合并一张大的纹理,这个过程通常被称为纹理图集。
Draw Call 过多导致CPU峰值,Draw Call 合并过多也有可能导致内存压力。需要找到他们的平衡。
4、GPU:PrePass
1)Early Z Pass:
https://blog.****.net/qq_34552886/article/details/81005655
https://www.jianshu.com/p/837c70c98644
2)Custom Depth
https://www.hanzhe.com/article/15、
5、GPU:BasePass
6、GPU:Lighting
https://blog.ch-wind.com/ue4-lighting-and-optimize/