2014-10-08 36 views
0

随着桌面计算机上的核心配置文件GL_ALPHA_TEST不再可用,所以我想将它们从我的渲染引擎中移除。然而,在移动平台上,我不确定这是否也会让人感兴趣,我阅读了几篇来自图形编程人员的文章,其中指出禁用alpha测试可以提高性能。使用ES 3.0进行Alpha测试

据我所知alpha测试是一个FFP的东西。我问自己,现在问你的具体问题是:在移动平台上,当忽略alpha测试和仅使用着色器时,是否会有性能差异?

+0

仅仅因为有些人可能会问:我没有真正的设备在移动设备上进行测试。但是我想保持它的兼容性。 – 2014-10-08 12:52:01

回答

1

Alpha测试在ES 2.0及更高版本中不可用。所以这不是ES 3.0的选项。

支持GL_ALPHA_TEST的唯一OpenGL ES版本分别为1.0和1.1,而这两者现在大多数都被认为已经过时。

通过检查生成的alpha值,您可以轻松地复制在片段着色器中用于执行Alpha测试的内容,如果它不符合所需条件,则调用discard

+0

所以基本上这只是因为兼容性的原因还在里面?只是想知道为什么然后每个“性能文件”都说你应该禁用alpha测试。但是没问题。 – 2014-10-14 09:37:13

+0

你是指在桌面OpenGL?是的,出于兼容性原因,“GL_ALPHA_TEST”仍处于兼容性配置文件中。它根本不在ES 3.0中。不在规格文档中,不在头文件中或任何地方。它在ES 1.x中,但2.0被定义为一个全新的API,与1.x没有任何兼容性。 – 2014-10-14 14:07:19