【发布时间】:2013-02-28 13:28:58
【问题描述】:
我一直在尝试让 OpenGL-ES 大致执行以下操作,以查看是否可以使用 glPushMatrix() 和 glPopMatrix() 将诸如混合状态之类的东西恢复到调用 glPushMatrix() 之前的状态.
它适用于旋转/平移的东西 - 为什么它不适用于其他一些东西,例如混合状态?
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); //<-first blend mode
glPushMatrix();
glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); //<-second blend mode
//...drawing and stuff here...
glPopMatrix();
//at this point it appears the second blend mode is still in effect - why?
我是否正确地混淆了,或者对于 glPopMatrix() 和 glPushMatrix() 未弹出/推送的状态,是否还有另一个弹出/推送功能组合?
还有其他方法可以轻松地将一切设置回之前的状态吗?感谢您的任何启发!
【问题讨论】:
标签: opengl-es