gl_PointSize在Nvidia Shield上无法正常工作

时间:2015-09-22 17:22:55

标签: android opengl-es android-ndk opengl-es-3.0

我注意到我无法在我的OpenGL ES 3.0 android应用程序中使用gl_PointSize更改顶点着色器中的点的大小。最后我发现我必须启用GL_PROGRAM_POINT_SIZE,即使这个枚举值没有在gl头文件中定义。所以我最终添加了glEnable(0x8642);

现在一切正常,但这是一个错误吗?或者我有必要启用此功能。我知道我需要在Windows中的兼容性上下文中执行此操作,但我认为在Android上我将使用纯ES 3.0上下文。也许我的GL上下文没有正确设置?

1 个答案:

答案 0 :(得分:1)

这看起来像个错误。在完整OpenGL中使用GL_PROGRAM_POINT_SIZE启用的模式(默认情况下禁用)在OpenGL ES中始终处于活动状态,并且无法关闭。

我相信一些较新的Shield设备也支持完整的OpenGL。我怀疑他们的底层驱动程序是共享的,并且在运行ES API时不会调整此状态的设置。