gpt4 book ai didi

android - 如何在 GLSL 中写入/防止写入 OpenGL 深度缓冲区

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:27 30 4
gpt4 key购买 nike

只有当当前像素的 alpha > 0.5 时,我才想写入 OpenGL 深度缓冲区怎么做?

如果像素的 alpha < 0.5,我想渲染颜色但不将其深度写入深度缓冲区。命令 discard 不是我要找的,因为它同时丢弃了颜色和深度信息;我只想丢弃深度信息。

可以设置 gl_FragDepth 变量,但要设置哪个值呢?对于 alpha < 0.5 的情况,如何保持 gl_FragDepth 不变?

我必须为此使用 FBO,还是不使用它也能正常工作?我正在处理的项目是一个 GLES 2.0 Android 项目

最佳答案

我已经通过使用

为我解决了这个问题
glDepthMask(false)

此命令禁用写入深度缓冲区但仍执行深度测试。我只是在所有其他对象之后渲染我的透明对象,并得到了我正在寻找的结果。

关于android - 如何在 GLSL 中写入/防止写入 OpenGL 深度缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5793354/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com