デフォルトの EGLContextFactory と EGLConfigChooser を使用できる場合は、GLSurfaceView のsetEGLContextClientVersion()メソッドを使用できます。
それ以外の場合、独自のEGLContextFactoryおよびEGLConfigChooserを作成している場合は、定数を自分で定義するだけです。構成セレクターで、定義します
private static final int EGL_OPENGL_ES2_BIT = 4;
次に、これを EGL_RENDERABLE_TYPE の値として eglChooseConfig に、必要な他の属性とともに渡します。
int attribs[] = {
EGL10.EGL_RED_SIZE, mRedSize,
EGL10.EGL_GREEN_SIZE, mGreenSize,
EGL10.EGL_BLUE_SIZE, mBlueSize,
EGL10.EGL_ALPHA_SIZE, mAlphaSize,
EGL10.EGL_DEPTH_SIZE, mDepthSize,
EGL10.EGL_SAMPLE_BUFFERS, mSampleBuffers,
EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
EGL10.EGL_NONE
};
コンテキスト ファクトリの場合、次のように定義します。
private static final int EGL_CONTEXT_CLIENT_VERSION = 0x3098;
コンテキストを作成するときにこれを使用します。
public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig)
{
int[] attrib_list = {
EGL_CONTEXT_CLIENT_VERSION, 2,
EGL10.EGL_NONE
};
EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list);
return context;
}
それらを作成したら、それらをそれぞれsetEGLContextFactoryおよびsetEGLConfigChooserに渡します。