为什么要多个渲染目标?


Answers:


14

当绑定了多个渲染目标时,它们可以由像素着色器分别写入-并非(所有情况下)所有渲染目标都将获得同一图像。您只能将红色分量写入一个输出,而只能将蓝色分量写入另一个,等等。

例如,在实现延迟渲染时使用此方法:将位置,法线,颜色等信息分别写入其自己的渲染目标。


4
3D电视的新用途是通过仅过滤每个播放器的一组特定帧,使多个本地播放器拥有自己的全屏视图。这将是多个目标的另一种用途。
詹姆斯,

1
+1用于延迟渲染,这就是我最常使用的功能。MRT还可以在DX9和10 btw中使用,因此它不是一项新功能。
罗伊(Roy T.)

2
@James关于时间的有用宣传来自该技术炒作。:)
deceleratedcaviar

过去,它还用于多维数据集/环境映射/反射-尽管现在有更好的方法。
乔纳森·迪金森


2

使用多个渲染目标的另一个好处是,您可以将场景的几何图形仅发送一次到顶点着色器,然后将其应用于不同的像素着色器输出,而不是为每个输出重新发送几何体,例如在Josh提到的延迟渲染中需要。这为GPU节省了大量计算时间。要获得更快的GPU性能,就要权衡帧缓冲内存的更高消耗。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.