OpenGL ES / Vulkan:每个片段模板写入/测试在 Qualcomm Snapdragon XR2 上

问题描述

我想渲染两个网格,第一个写入模板缓冲区,第二个对其进行测试。 我想在每个片段级别上执行此操作(第一个对象的片段着色器应定义要写入模板缓冲区的值,第二个对象的片段着色器应定义第二个对象的片段是否以及针对哪个模板值对象应该被剪裁)。

我的目标平台是配备高通骁龙 XR 的 Oculus Quest 2。

如果平台支持 GL_ARM_shader_framebuffer_fetch_depth_stencil,我可以使用它,但仅在某些 Mali GPU 上支持。

我想使用模板的原因是,出于性能原因,我想在单个前向渲染过程中渲染所有内容,并且由于我已经被迫在着色器中使用片段丢弃,因此无论如何早期的 z-rejection 都不行所以这不是问题。

如何在 OpenGL ES 3.0 或 Vulkan 中的 Qualcomm Snapdragon XR2 上实现按片段模板编写/测试?

感谢任何指点。

解决方法

您可以使用 Promise 获得每次调用的模板参考值。尽管如此,该扩展程序并未得到广泛支持。

我不确定您要做什么,但您似乎需要另辟蹊径。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...