0

我试着尽我所能解决这个问题,但这是问题的实质,

制作一个延迟渲染器是否实用,而不是具有漫反射/镜面反射缓冲区,而是具有材质/ UV 缓冲区,材质的处理类似于平铺光剔除,着色器将传递所需的纹理(镜面反射,漫反射,发光、贴花等)并使用 UV 缓冲区中的 UV 对其进行采样。

我只是想想一种方法来获得延迟渲染的好处和前向渲染的灵活性,我想不出为什么这会使两者都变得最糟糕,但我找不到任何信息在任何类似的东西上,所以我不知道它在实用性上的优缺点是什么。

4

1 回答 1

0

我不知道这种方法将如何改进正常的延迟渲染。延迟渲染的主要缺点是传递大缓冲区、多个照明模型的复杂性、透明度和抗锯齿。

您提出的方法需要巨大的缓冲区来存储所有模型的所有不同纹理,这将比漫反射和镜面反射缓冲区占用更多空间。

您的方法对光照模型没有任何改进,因为它仍然需要材质 ID 缓冲区和复杂的光照着色器。

您的方法无法解决透明度或抗锯齿问题。

总体而言,材质和 uv 缓冲区可以很容易地被仅包含 uv 坐标处材质颜色的漫反射缓冲区替换,就像在正常的延迟渲染中一样。

编辑:在您描述的情况下,使用多个(例如发光、漫反射、光泽、镜面反射......)缓冲区将这些用作纹理,并且只为每种材料加载一组,这可能是实用的。但是,它只会节省少量带宽,因为与您建议的材质纹理相比,正常设置只需要屏幕大小的纹理。此外,由于为每种材质切换多个纹理,可能会降低性能。

于 2013-04-06T15:44:50.527 回答