我知道我不能在openGL ES中执行glPush / PopAttrib,而且我必须手动执行此操作。我的问题是: 我需要启用/禁用和psuh / pop才能正确渲染3D模型?
我遇到的问题是颜色在不同的对象之间混合呈现。此外,某些对象没有纹理,看起来它正在尝试应用它。
是否存在“安全”可能未经过优化的方式来确保每次渲染新对象时openGL状态都是“干净”?有点像glPushAttrib(GL_ALL_ATTRIB_BITS)
答案 0 :(得分:4)
不,没有。但是OpenGL ES 2.0中可能的状态(~10)要少得多,其他一切都由你自己的着色器控制。基本上你只需要启用/禁用所有可能的状态(并正确配置你启用的状态)。
可以在此处找到所有州的列表:
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml