我无法找到对此的参考。所有Android开发人员文档都专注于OpenGL ES 1.0。如何在Android SDK中使用API level 8开始使用OpenGL 2.0?如果8级不支持,那么我需要使用什么级别?如何在Android SDK(不是NDK)中使用OpenGL ES 2.0?
市面上有多少百分比的Android手机目前支持OpenGL ES 2.0?
我无法找到对此的参考。所有Android开发人员文档都专注于OpenGL ES 1.0。如何在Android SDK中使用API level 8开始使用OpenGL 2.0?如果8级不支持,那么我需要使用什么级别?如何在Android SDK(不是NDK)中使用OpenGL ES 2.0?
市面上有多少百分比的Android手机目前支持OpenGL ES 2.0?
问题是,您需要在GLSurfaceView中实现GL10中的三个方法。
public void onDrawFrame(GL10 gl)
public void onSurfaceChanged(GL10 gl, int width, int height)
public void onSurfaceCreated(GL10 gl, EGLConfig config)
它看起来像解决方案是完全忽略你的渲染器中的GL10,并使用所有GLES20类的静态方法。
public void onDrawFrame(GL10 glUnused) {
GLES20.glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
GLES20.glUseProgram(mProgram);
...
}
所有GLES20静态成员列在这里:那些 http://developer.android.com/reference/android/opengl/GLES20.html
更好的文档都在Khronos的文档。 http://www.khronos.org/opengles/sdk/docs/man/
你应该看看这个视频http://www.youtube.com/watch?v=7-62tRHLcHk。这个家伙会为不同的OpenGL ES版本提供设备支持,并向您展示如何开始使用Android上的OpenGL。他还谈到了设备的碎片化以及如何支持它们。基本上大多数“第二代”设备都支持2.0版本,并且自2009年年底开始出货。如果您打算仅针对2.0设备,那么显然必须进行系统检查以确保设备X具有适当的硬件规格。
如果您想了解如何在SDK中设置基本的OpenGL渲染器,跳转到该视频中的21:00。
此链接显示的Android设备支持不同的OpenGL ES版本的分布:http://developer.android.com/resources/dashboard/opengl.html
它谈论的OpenGL 2的市场渗透,但我看不到任何有关如何访问的OpenGL ES 2.0 SDK(不是NDK)。 – ace 2011-02-09 19:07:34