Po prostu wywołuję glEnableClientState()
jeden raz w interfejsie onSurfaceCreated()
interfejsu . Np:Kiedy należy wywołać funkcje glEnableClientState() i glDisableClientState() w systemie 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);
...
}
Po że nie wywołuj je ponownie. Nigdy nie odwołuję się do metody glDisableClientState()
. Ale widzę, że wielu programistów nazywa obie metody często owijając je wokół wszystkich wywołań rysunkowych.
Czy coś jest nie tak z moim podejściem? Czy może to dobra praktyka, a może bardziej efektywna metoda owijania ich wokół wszystkich połączeń rysunkowych?
Dziękuję. Stwierdziłem, że 'glEnableClientState()'/'glDisableClientState()' są najczęściej używane w przykładowym kodzie i bibliotekach prawdopodobnie po to, aby były bezpieczne, że potrzebne tablice są włączone i oczywiście wyłączają one używane tablice po rysowaniu, aby uniknąć negatywnej interferencji z inny kod rysunkowy (który może nie używać niektórych z włączonych tablic). –