Directx 深度缓冲区是强制性的吗

Directx 深度缓冲区是强制性的吗,directx,Directx,我只是想更好地理解directX管道。只是好奇深度缓冲区是否是必需的,以使事情顺利进行。或者,如果您希望对象显示在彼此后面,它只是一个需要的缓冲区。深度缓冲区不是必需的。例如,在2D游戏中,通常不需要它 如果希望对象显示在彼此后面,但仍希望能够以任意顺序绘制它们,则需要深度缓冲区 如果从后面到前面绘制所有三角形,并且它们都不相交,则可以不使用深度缓冲区。但是,通常不用深度排序,只使用深度缓冲区比较容易。不是强制性的。它们只是解决了以下问题:假设您有一个对象靠近首先绘制的摄影机。然后,在已经绘制之

我只是想更好地理解directX管道。只是好奇深度缓冲区是否是必需的,以使事情顺利进行。或者,如果您希望对象显示在彼此后面,它只是一个需要的缓冲区。

深度缓冲区不是必需的。例如,在2D游戏中,通常不需要它

如果希望对象显示在彼此后面,但仍希望能够以任意顺序绘制它们,则需要深度缓冲区

如果从后面到前面绘制所有三角形,并且它们都不相交,则可以不使用深度缓冲区。但是,通常不用深度排序,只使用深度缓冲区比较容易。

不是强制性的。它们只是解决了以下问题:假设您有一个对象靠近首先绘制的摄影机。然后,在已经绘制之后,您希望绘制一个距离较远的对象,但与屏幕上附近的对象位于同一位置。如果没有深度缓冲区,它会在顶部绘制,这看起来是错误的。有了深度缓冲区,它就变得模糊不清了,因为GPU会找出它在已经绘制的其他东西后面的位置

你可以关闭它们并处理它们,例如通过向后拉到前面(但深度缓冲可以解决其他问题),这在2D游戏中很容易。或者,出于某种原因,你可能希望这种过度拉伸作为某种效果。但是基本的渲染并不需要它。

好吧,这样,从前到后的绘制速度更快。您不必在被遮挡的像素上运行着色器。