6
中调用glEnableClientState()和glDisableClientState()我只要在onSurfaceCreated()
方法GLSurfaceView.Renderer
接口中调用glEnableClientState()
一次。例如:什么时候应该在android
public class GLRenderer implements GLSurfaceView.Renderer {
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
...
}
之后,我不再调用它们。我从来不会调用glDisableClientState()
方法。但是我看到很多程序员都调用这两种方法,经常把它们包装在所有的绘图调用中。
我的方法有什么问题吗?或者这是一种很好的做法,或者更有效的方法是将这些方法用于所有绘图调用?
谢谢。我已经计算出在示例代码和库中最常用的'glEnableClientState()'/'glDisableClientState()'可能是安全的,因为启用了所需的数组,并且当然它们在绘图之后禁用了使用的数组,以避免产生负面干扰另一个绘图代码(可能不使用某些启用的数组)。 – 2012-04-07 14:34:40