2012年5月25日 星期五

Develope Android OpenGL ES based on NDK

NDK: generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms. Be supported in all future versions of the Android platform, starting from Android 1.5. Applications that use native activities must be run on Android 2.3 or later.

OpenGL ES on Android:
The Android framework supports both the OpenGL ES 1.0/1.1 and OpenGL ES 2.0 APIs.

Caution: OpenGL ES 2.0 is currently not supported bythe Android Emulator. You must have a physical test device running Android 2.2 (API Level 8) orhigher in order to run and test the example code in this tutorial.
 http://developer.android.com/resources/tutorials/opengl/opengl-es20.html

If your application requires OpenGL 2.0, make sure youdeclare this in your manifest:



Android provides GL10 and GL11 packages, GL10 means OpenGL ES 1.0, GL 11 means OpenGL ES 1.1.

    public int getGLVersion() { ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); ConfigurationInfo info = am.getDeviceConfigurationInfo(); return info.reqGlEsVersion;}
  • For OpenGLES 1.1, getGLVersion() == 0x00010001
  • For OpenGLES 2.0, getGLVersion() == 0x00020000
http://www.linuxgraphics.cn/android/ndk_opengl.html

OpenGL|ES emulator on desktop PC
  1. AMD has such an emulator (Beyond3D news) which has been merged into QUALCOMM (Adreno)
  2. ARM provides GL ES emulation (MaliDeveloper)
  3. OpenGL|ES emulator (KlayGE)

沒有留言:

張貼留言