我努力学习的OpenGL ES 2.0,以下基本教程正常工作seteglcontextclientversion(2)不支持OpenGL ES 2.0设备
http://www.droidnova.com/android-3d-game-tutorial-part-ii,328.html
这是我GLSurfaceView推导的构造
public FirstOpenGLSurfaceView(Context context){
super(context);
// Set the Renderer for drawing on the GLSurfaceView
setEGLContextClientVersion(2);
_renderer = new FirstOpenGLRenderer();
setRenderer(_renderer);
}
经过一番实验后,我得出结论,如果发出调用seteglcontextclientversion(2)(注释掉这行代码和渲染工作),项目将无法正常运行。Logcat指示“调用未实现O penGL ES API“,无论何时试图运行上述方法。
我已经更新了清单,并遵循所有的建议在此张贴在这里...(包括manifest.xml中设置)
Android: GLES20: Called unimplemented OpenGL ES API
我听到的建议,这可能表明,OpenGL的ES 2.0在有问题的设备上不可用(或者正在使用模拟器)。在这种情况下,我不认为这是真的,因为当我运行下面的代码时...(在几个教程中找到,我相信此代码说实话)
// Check if the system supports OpenGL ES 2.0.
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
final boolean supportsEs2 = configurationInfo.reqGlEsVersion >= 0x20000;
supportsEs2的值是 '真',这适用于三个独立的设备,即
- 三星Galaxy Tab 10.1 - 的Android 3.2内核2.6.36.4
- 谷歌Nexus S - 安卓4.0.4 - 内核3.0.27
- 三星Galaxy S3 - 安卓4.0.4与内核3.0.15
有没有人经历过这个?
你有清单中的是否为gles?我不确定它是否有所作为,但是这种语言可能意味着没有这个设备将只支持1.0。我不确定是否是这种情况。 http://developer.android.com/guide/topics/manifest/uses-feature-element.html#glEsVersion –
Tim
@Tim uses-feature> <使用sdk android:targetSdkVersion =“10”android:minSdkVersion =“10”> 在清单中(也尝试过与SDK版本8,相同的结果) –
我有问题,OpenGL 2.0不会运行后的OpenGL 1.0相同的应用。 – Zammbi