OpenGL:"discard"是否已弃用GL_ALPHA_TEST的唯一替代品?

Emi*_*rov 1 opengl

我刚刚意识到GL_ALPHA_TEST自OpenGL 3.0以来已被弃用,所以我无法使用它glEnable().我已经尝试快速谷歌如何更换它(以及为什么它被弃用),但未能找到这个简单问题的答案.我也没有找到有关GL_ALPHA_TEST在Khronos文档中删除的信息.

我建议现在根据其alpha值丢弃片段的唯一方法是片段着色器中的"discard"关键字.我对吗?

Die*_*Epp 5

是的,你是对的.GL_ALPHA_TEST不在核心,您必须discard在片段着色器中使用才能获得相同的效果.

另一种方法是使用兼容性上下文,但并非所有系统都可以使用.