OpenGl ES glPushAttrib() 3D模型渲染

OpenGl ES glPushAttrib() 3D model rendering

本文关键字:模型 3D ES glPushAttrib OpenGl      更新时间:2023-10-16

我知道我不能在openGL ES中做glPush/popatrib,我必须手动做到这一点。我的问题是:为了正确渲染3D模型,我需要启用/禁用和psuh/pop什么?

我的问题是,颜色正在不同的对象之间混合渲染。此外,一些对象没有纹理,它看起来像它试图应用一个。

是否有一个"安全"也许不是优化的方式来确保每次我渲染一个新的对象的openGL状态是"干净"?有点像glPushAttrib(GL_ALL_ATTRIB_BITS)

没有。但是在OpenGL ES 2.0中可能的状态要少得多(大约10个),其他的一切都是由你自己的着色器控制的。基本上,您只需要启用/禁用所有可能的状态来确保(并正确配置您启用的状态)。

所有状态的列表可以在这里找到:

http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml