我尽力把所有的东西都放在这个问题上但是这里有它的肉体,
制作一个延迟渲染器是否切实可行,而不是让漫反射/镜面反射缓冲器有一个材质/紫外缓冲区,材质处理类似于平铺光剔除,着色器将传递所需的纹理(镜面反射) ,漫反射,发光,贴花等。)并使用UV缓冲液中的UV对其进行采样。
我只是想想一种方法来获得延迟渲染的好处和前向渲染的灵活性,我无法想到为什么这会导致两者中最差的原因,但是我'我无法找到任何相似的信息,所以我不知道它的实用性是什么。
答案 0 :(得分:0)
我不知道这种方法如何改进普通的延迟渲染。延迟渲染的主要缺点是传递大缓冲区,多个光照模型的复杂性,透明度和抗锯齿。
您提出的方法需要巨大的缓冲区来存储所有模型的所有不同纹理,这将占用比漫反射和镜面反射缓冲区更多的空间。
您的方法对照明模型没有任何改进,因为它仍然需要材质ID缓冲区和复杂的着色器用于照明。
您的方法无法解决透明度或抗锯齿问题。
总的来说,材质和紫外缓冲区可以很容易地被一个漫反射缓冲区替换,该缓冲区缓冲区包含紫外坐标处材质上的颜色,就像普通的延迟渲染一样。
编辑:在您描述的情况下,它可能是实用的,有多个(例如发光,漫反射,光泽,镜面......)缓冲区将这些用作纹理,并且只为每个材质加载一组。然而,它只会节省少量带宽,因为与您建议的材质纹理相比,正常设置只需要屏幕大小的纹理。此外,由于为每种材料切换多个纹理,可能会导致性能下降。