我正在尝试将我的OpenGL项目修改为OpenGL ES 1.x.但是有一个函数调用我找不到任何替代它的解决方案。
glPushAttrib(GL_CURRENT_BIT | GL_LIGHTING_BIT | GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT );
我在OpenGL ES 1.x中找不到GL_CURRENT_BIT掩码和glPushAttrib函数。
简单地说,我只是从glPushAttrib参数中删除GL_CURRENT_BIT掩码,并且应用程序在窗口上显示错误的背景(我在OpenGL环境中测试它。背景是texutre。)。有什么解决方案让我替换glPushAttrib(GL_CURRENT_BIT)并让我在OpenGL上正确运行应用程序或者我有没有解决方案来实现glPushAttrib(GL_CURRENT_BIT)我可以在OpenGL和OpenGL ES上正确运行?谢谢!
答案 0 :(得分:2)
glPushAttrib
。旨在将GL_CLIENT_PIXEL_STORE_BIT
作为输入的函数实际上是glPushClientAttrib
,它也不存在(因此,常量也不存在)。
这些功能主要是存储可以使用glPixelStorei
功能设置的所有状态。这可以通过手动实现,通过记录这些状态设置,并对glPixelStorei
进行等效调用来恢复它们。请参阅here(第8项)进行讨论(关于OpenGL,适用于OpenGL ES,因为它没有glPush/PopClientAttrib
)。