Z-Buffering or W-Buffering
z-buffering 和 w-buffering都表示深度值。几乎所有的3-D加速卡都支持z-buffering,这样就使得z-buffers成为现在最常用的深度缓冲类型。
The Z-Buffering
在 z-buffering中,the depth is stored as 1/z.using 1/z has a negative consequence when the values in the depth buffer are not linear. 这就是说在depth buffer中的值不能随着真实的深度值变化,but follow more of an exponential curve.
The W-Buffering
W-Bufferin保存投影变化后的w value,这时的W是线性的。WDepth = Depth / Far_Z_Clip.
w深度缓冲比z-buffer能更均匀地在远近剪切面之间进行分配。使用它的最大好处就是远近剪切面的距离比不再是关键因素。这样就允许程序使用更大的距离范围,同时仍能保持深度缓冲与观察位置间的精确联系。w-buffer也不是完美的,有时也会使近处物体的隐藏表面产生失真。w-buffer的另一个缺点是不能得到硬件的广泛支持。
Using Alpha Channel
在Render Target中有alpha channel,平常是没有作用的,所以 the blurring factors can be put in this channel and used in the final DOF pass to determine how much of the blurred render target to apply.