Vulkan 是否需要深度缓冲区附件来执行深度边界测试?

问题描述 投票:0回答:1

我希望在这里实现的行为是让我的片段着色器写入 gl_FragDepth 并在继续模板测试之前对该值执行深度边界测试。

有几个原因导致我不确定这是否是一种有效的方法,而我现在面临的问题是,我从文档中不确定我是否可以同时使用模板缓冲区和相同渲染通道的深度缓冲区,如果是,如何区分它们。

但是,如果我只使用深度边界测试而没有其他深度操作,我并不完全相信我什至需要深度缓冲区。我尝试了一下,没有从验证层收到任何警告,但这可能是因为我有一个模板缓冲区。

因此,总而言之,我是否需要深度缓冲区来进行深度边界检查,如果需要,如何确保它与模板缓冲区正确交互?或者说,这是一种完全无效的做法吗?

vulkan depth-buffer stencil-buffer depth-testing
1个回答
0
投票

我可以在同一个渲染通道中同时使用模板缓冲区和深度缓冲区。

你可以。

如何区分它们。

它们是渲染通道中不同的附着点,一个称为深度,一个称为模板,那么区分它们有什么问题?

但是,如果我只使用深度边界测试而没有其他深度操作,我并不完全相信我什至需要深度缓冲区。

深度边界是对当前深度缓冲区中的深度(不是传入图元的深度)的检查。如果您认为不需要深度缓冲区,我认为您不了解深度边界测试的作用。如果没有深度缓冲区,它就不能做任何有用的事情......

如何确保它与模板缓冲区正确交互

模板与什么有什么关系?这是一组完全正交的检查。

© www.soinside.com 2019 - 2024. All rights reserved.