UE4渲染管线有前向渲染、延迟渲染等,本文主要分析延迟渲染。
找到Engine\Source\Runtime\Renderer\Private\DeferredShadingRenderer.h,可以看到这些函数
虚幻是通过这些函数来一步步完成渲染的。
官方说的渲染顺序
这个渲染顺序是怎么来的呢?就是上面那些函数的调用顺序,可以在Render函数里看到。
我们来看下basePass,如下:
这个BasePass干的事情就是把GBuffer画出来。这是像素着色器的入口,有了GBuffer,再绘制剩下的。环境遮挡先不说了,先看看光照部分。
光照部分的入口在Engine\Shaders\Private\TiledDeferredLightShaders.usf,
关于光照,可参考这篇文章
这里调用
不同类型光照的计算也不同
这些函数又在
代码如下
rect光照