如何保存-恢复所有opengl状态变量

How to save - restore all opengl state vars

本文关键字:opengl 状态 变量 恢复 何保存 保存      更新时间:2023-10-16

我可以在glPushAttrib(GL_ALL_ATTRIB_BITS)glPopAttrib()之间做任何我想做的事情,并且仍然不损害使用之前和之后设置gl状态的其他代码(这些函数是否提供完全隔离)?

不,这只会将服务器端状态推送到堆栈中。

也有客户端状态,如像素存储和顶点数组。对于它们,你必须使用glPushClientAttrib (...)

虽然像素存储状态不经常更改,但在弃用代码中,顶点数组状态更改非常常见。因此,如果您想正确地执行此操作,则需要保存并恢复服务器和客户端状态。