最近把HairWorks整合到了UE4 4.20, 整合的过程中发现了一些没法直接merge的代码, 主要集中在LightRendering.cpp和DeferredLightingPixelShader.usf中. 所以顺便简单读了一下代码, 把其中的一些关键字概念整理出来方便查阅理解.
Uniform Buffer Struct
UE4使用了一些宏来辅助定义UniformBuffer中的结构体, 在Shader中是可以打到对应的定义的.
Simple Light
不如叫Particle Light, 粒子系统中发射的简单点光源. 因为数量很多, 所以算法做了简化, 没有阴影之类的效果
Light Function
Light Function在我看来更像是一个可以用材质节点控制的Shadow Mask, 改变光照区域的强度, 不能叠加颜色.