光照贴图的作用是什么?

3

首先,我知道什么是光照贴图,以及使用它可以获得什么效果以及如何实现。但我不明白的是,如果你有动态移动的物体,它们无法生成光照贴图,那么你仍然需要一个光源来投射它们的阴影。所以,如果我们仍然需要为那些无法使用光照贴图(即动态物体)的物体提供光源,那么使用光照贴图有什么好处呢?

提前感谢。

1个回答

4
如果您不使用实时阴影(这是一个选项,通常在移动设备上),那么您可以有更多或更少两种方法来处理动态对象:
- 使用烘焙到探针中的光照图数据来近似每个顶点的光照(无需实时光)。虽然这只是一种近似,但在某些情况下可以工作。 - 仅对动态对象使用实时光,这样您就可以改善它们的外观,而不会牺牲静态对象的性能,后者只能使用烘焙光。
如果您需要由动态对象投射到静态烘焙对象上的动态阴影,则仍然可以从光照图中受益,理由如下:
- 即使需要进行附加光照传递以在静态烘焙对象上投影阴影,可能并不是所有对象都会受到阴影的影响,而只有相对靠近动态阴影投射器对象的对象。因此,您仍然可以节省大量GPU时间。 - 光照图(特别是在前向渲染路径上)允许产生复杂的光照场景,否则在实时环境中将无法实现。动态对象不需要受到所有烘焙光的影响,而只需要受到更重要的光的影响。这样,您就可以在静态环境中拥有有限数量的绘制调用,并且仅有少量“重要”光照射动态对象。
如果您有动态移动的对象,无法生成光照图,则仍然需要光源来投射它们的阴影。
虽然如此,但是:
- 您可以节省计算静态烘焙对象的着色,因为光不会影响它们。 - 如前所述,投影的阴影将只投射在有限的一组对象上。

我明白了。这很有道理。但是如果我有多个相同模型的静态对象将被池化(如果它们超出了相机的视口),并且只有在视口内时才会被重用呢? - Bawenang Rukmoko Pardian Putra
@Bawenang Rukmoko Pardian Putra:你是什么意思? - Heisenbug
是的,但因为我只会使用10个对象,如果需要移动,光照贴图不会出错吗? - Bawenang Rukmoko Pardian Putra
一般情况下,如果移动光照贴图对象,则其光照将出现问题。考虑使用LM光线反射技术,您将得到一种全局光照效果,因此物体的光照会受到周围环境的影响。结果是否可接受取决于您。 - Heisenbug
我明白了。那很有道理。感谢您的回复。 - Bawenang Rukmoko Pardian Putra
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接