Ho appena chiamato glEnableClientState()
una volta nel onSurfaceCreated()
metodo di interfaccia GLSurfaceView.Renderer
. Es .:Quando dovrei chiamare glEnableClientState() e glDisableClientState() in 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);
...
}
Dopo di che non li invoco più. Non invoco mai il metodo glDisableClientState()
. Ma vedo che molti programmatori chiamano entrambi i metodi, spesso avvolgendoli attorno a tutte le chiamate di disegno.
C'è qualcosa di sbagliato nel mio approccio? O è una buona pratica o forse più efficiente usare l'approccio di avvolgerli attorno a tutte le chiamate di disegno?
Grazie. Ho capito che glEnableClientState() '/' glDisableClientState() 'sono più utilizzati nel codice di esempio e nelle librerie probabilmente per essere sicuri che gli array necessari siano abilitati e, naturalmente, disabilitano gli array usati dopo il disegno per evitare un'interferenza negativa con un altro codice di disegno (che non può utilizzare alcuni degli array abilitati). –