我正在使用openGL ES 2.0创建动态壁纸。 该应用程序在我的Nexus One的伟大工程,但它并不没有表现出一台Nexus S.Nexus S中的glError 1282但不支持Nexus One
事情到目前为止,我还测试了什么:
我已经检查this question。我的纹理是128x128,所以我想这不是问题。
我在代码中使用了
checkGlError
方法,我发现它通过了onSurfaceCreated
和onSurfaceChanged
没有问题。如果我在onDrawFrame()
方法的第一行中调用它,该方法会抛出异常。
的checkGlError
代码如下:
private void checkGlError(String op) {
int error;
while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
Log.e(TAG, op + ": glError " + error);
throw new RuntimeException(op + ": glError " + error);
}
}
我注意到,在这两种设备发生错误,但它会在Nexus S的关键,而它绘制在Nexus One的罚款。我的猜测是着色器编译不正确,那里有一个问题。
你知道链接S和链接之间的其他不兼容吗? 有没有调试着色器代码的方法?