我正在研究使用OpenGL ES 2.0的NativeActivity
android应用程序
当我使用-lGLESv2
构建我的应用时,我收到了链接器错误
错误:未明确引用' glColor4f'
所有其他OpenGL ES成立。
但是,当我将-lGLESv2
替换为-lGLESv1_CM
(或只添加-lGLESv1_CM
)时,一切正常
我的问题是这是我问题的正确解决方案吗?我可以同时使用-lGLESv2
和-lGLESv1_CM
吗?
答案 0 :(得分:1)
不,您无法将ES 1.x与ES 2.0混合使用。它们大多不兼容,并且在我见过的任何设备上都不受相同上下文的支持。您决定使用哪一个作为上下文创建的一部分,然后您必须坚持使用该版本。
如果查看official spec file,ES 2.0将被定义为新的API,而不是ES 1.x的更新版本。他们的差异比他们的相似之处要大得多。
如您所知,glColor4f()
是ES 1.x功能。 ES 2.0中最常见的亲戚是glVertexAttrib4f()
。由于颜色是固定的函数属性,并且整个固定功能管道在ES 2.0中消失了,因此它不是直接替代。