2016-09-05 7 views
0

私の質問は:GLSurfaceViewはapi18 +用のEGLコンテキスト3.0をサポートしていますか? setEGLContextClientVersion(3)次いで、クラッシュaccursは、私はアンドロイド4.4.2 を有し、マニフェストは、official documentation状態としてGLSurfaceView with opengl ES 3.0

<uses-feature android:glEsVersion="0x00030000" android:required="true"/> 
+0

ないデバイスのサポートES 3.0:3.0が利用可能な場合

には、以下のあなたが行うことができます確認するには? –

答えて

0

を含有する一つのデバイスとそれを試していなかった私が使用しているため、デバイスがサポートしていない可能性OpenGL 3.0では、eglコンテキストバージョンを設定する前にチェックする必要があります。

マニフェストにuses-featurerequired=trueと表示されている場合、アプリがGoogle Playストアに公開されると、そのアプリがサポートされていないデバイスでは表示されないようにしてください。したがって、別のソースからAPKをダウンロードしない限り、インストールすることはできません。

private static double glVersion = 3.0; 

private static class ContextFactory implements GLSurfaceView.EGLContextFactory { 

    private static int EGL_CONTEXT_CLIENT_VERSION = 0x3098; 

    public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) { 
      Log.w(TAG, "creating OpenGL ES " + glVersion + " context"); 
      int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, (int) glVersion, EGL10.EGL_NONE }; 
      // attempt to create a OpenGL ES 3.0 context 
      EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list); 
      return context; // returns null if 3.0 is not supported; 
    } 
} 
関連する問題