我知道什么是查询对象,但我并不完全理解 GL_SAMPLES_PASSED 和 GL_ANY_SAMPLES_PASSED 之间的区别。参考页面对 GL_ANY_SAMPLES_PASSED 进行了说明:如果“任何”样本在 GL_ANY_SAMPLES_PASSED 的情况下通过了深度测试,则后续渲染会导致标志设置为 GL_TRUE。
这是否意味着,唯一的区别是,使用 GL_ANY_SAMPLES_PASSED 的查询对象要快得多,因为它不必计算通过的样本数,它只返回真/假而不是计数,这在条件渲染中也很有帮助(因为真假值)。