This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why my Android 4.3 Emulator could not support the OpenGL ES 3.0

The SDK and ADT have been updated in my IDE, and I create an Android 4.3 Emulator successfully. Then I run the OpenGL ES 3.0 demo code on the Emulator , but the Logcat output "OpenGL ES3.0 not supported on device...", The reason seems to be the OpenGL ES 3.0 context could not be created successfully. The demo comes from  book " The OpenGL ES 3.0 Programming guide". Settings have been done in the XML file.

     My PC : windows 7, 4GB RAM, Intel Core i3, GPU NVIDIA Geforce G7X550 Ti.  The information of the Emulator is Android 4.3.

     Code of creating  OpenGL ES3.0 context:

public class SimpleTexture2D extends Activity
{


   private final int CONTEXT_CLIENT_VERSION = 3;


   @Override
   protected void onCreate ( Bundle savedInstanceState )
   {
      super.onCreate ( savedInstanceState );
      mGLSurfaceView = new GLSurfaceView ( this );


      if ( detectOpenGLES30() )
      {
         // Tell the surface view we want to create an OpenGL ES 3.0-compatible
         // context, and set an OpenGL ES 3.0-compatible renderer.
         mGLSurfaceView.setEGLContextClientVersion ( CONTEXT_CLIENT_VERSION );
         mGLSurfaceView.setRenderer ( new SimpleTexture2DRenderer ( this ) );
      }
      else
      {
         Log.e ( "SimpleTexture2D", "OpenGL ES 3.0 not supported on device.  Exiting..." );
         finish();
      }


      setContentView ( mGLSurfaceView );
   }


   private boolean detectOpenGLES30()
   {
      ActivityManager am =
         ( ActivityManager ) getSystemService ( Context.ACTIVITY_SERVICE );
      ConfigurationInfo info = am.getDeviceConfigurationInfo();
      return ( info.reqGlEsVersion >= 0x30000 );
   }


   @Override
   protected void onResume()
   {
      // Ideally a game should implement onResume() and onPause()
      // to take appropriate action when the activity looses focus
      super.onResume();
      mGLSurfaceView.onResume();
   }


   @Override
   protected void onPause()
   {
      // Ideally a game should implement onResume() and onPause()
      // to take appropriate action when the activity looses focus
      super.onPause();
      mGLSurfaceView.onPause();
   }


   private GLSurfaceView mGLSurfaceView;
}
Parents Reply Children