每一张都有几个小知识点,没有学透,记录一下,后面再详细说
Visible Lights
为了正确渲染场景中的所有光线,我们定义的管线需要通过Light Data传递给GPU。实现多种光线渲染的方法有多种,我们也不得不做在自定义的管线里做相应处理;Unity默认管线使用每一个Pass里面渲染一种光线,是多Pass,每Object的方式;而Unity LWPR管线使用一个单独的Pass渲染多种光线,是单Pass,每Object的方式;最后Unity HD管线使用同时渲染多个Object 的surface data,是Objects延迟渲染的方式;
我们定义的管线也是接近LWPR,单PASS的方式,每个Object只渲染一次
Clear Render Texture
很重要,可能导致前面的渲染的残留
光源距离和衰减的计算
一个数组分2段处理
好吧,写了程序多年,也写了C#多年,却才发现自己完全不会写程序
看看歪果仁怎么写的??实现1个数组分2段处理。。。。
int i = 0;
for (; i < cull.visibleLights.Count; i++) {
…
}
for (; i < maxVisibleLights; i++) {
visibleLightColors[i] = Color.clear;
}