Android OpenGL ES部分问题解决方案
目录
模拟器不工作的可尝试办法
- 若模拟器配置有使用Use Host GPU,可以尝试在
GLSurfaceView.setRenderer()
之前调用GLSurfaceView.setEGLConfigChooser(8,8,8,8,16,0)
GLSL Shader相关
- 在使用OpenGL ES2.0时,如果你在Android Studio中使用了GLSL插件,请将插件自动生成的
#version 120
删除,这可能会造成版本不兼容导致显示出现问题
程序崩溃
- 如果报错信息上有
AndroidRuntime: FATAL EXCEPTION: GLThread
java.lang.IllegalArgumentException: Must use a native order direct Buffer
请检查是否使用了ByteBuffer.allocate
而不是ByteBuffer.allocateDirect
,ByteBuffer.allocate
分配的不是native内存,故而会导致此错误.