glEnableClientState()
をonSurfaceCreated()
の方法でGLSurfaceView.Renderer
インターフェイスに1回だけ呼び出してください。例:androidでglEnableClientState()とglDisableClientState()を呼び出す必要があります
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()'が、必要な配列が有効になっていること、そしてもちろん図面の後で使用されている配列を無効にして、別の描画コード(使用可能な配列の一部を使用していない可能性があります)。 –