我正在尝试将我的OpenGL项目修改为OpenGL ES 1.x。但是有一个函数调用,我找不到任何解决方案来替换它。
glPushAttrib(GL_CURRENT_BIT | GL_LIGHTING_BIT | GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT );
我找不到gl_current_bit mask和glpushattrib在OpenGL ES 1.x中的功能。
简单地说,我只是从glpushattrib参数中删除gl_current_bit mask,然后应用程序在窗口上显示错误的背景(我在OpenGL环境上对其进行了测试。背景是quidtre。)。我是否有任何解决方案可以替换Glpushattrib(gl_current_bit),让我在OpenGl上正确运行应用程序,或者我是否有任何解决方案可以实现Glpushattrib(gl_current_bit),我可以在OpenGl和OpenGl eS上运行它?谢谢!
glPushAttrib
在OpenGl ES中不存在。旨在将GL_CLIENT_PIXEL_STORE_BIT
作为输入的函数实际上是glPushClientAttrib
,也不存在(因此,常数也不存在)。
这些功能本质上是存储可以使用glPixelStorei
函数设置的所有状态。可以通过记录这些状态在设置的情况下手动实现,并对glPixelStorei
进行等效的调用以还原它们。有关讨论(关于OpenGL,使用OpenGL ES,请参见此处(项目#8),在此,它没有glPush/PopClientAttrib
)。