在之前就有人搞过在viewUniform里面传ramp图,链接如下:
https://medium.com/@solaslin/learning-unreal-engine-4-adding-a-global-uniform-shader-parameter-2-aa0102822868
光照组件中扩展的ramp图
下面我将在DefferedLightUniform里面加入ramp图,这样做的好处是,ramp图可以逐光照,也就是每次光照计算,都有单独的ramp图。
主要提供思路:
如图是proxy和component的关系。
proxy是primitiveComponent的渲染线程表示。
传输步骤是:proxy调用构造函数获取component的参数,并为自己赋值。proxy再调用GetLightShaderParameter(shader结构体的引用)方法,为shader结构体赋值。
需要注意的是,ue4粒子系统也有灯光,在渲染线程中用simplelight表示,所以我们需要在为simplelight设置uniform时()设置Ramptex的初值,否则遇到有光照的粒子系统会报错。
在LightRendering.cpp中开始
[UE4渲染]LightPass中加入ramp图
最新推荐文章于 2022-08-21 16:42:26 发布