我正在使用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和鏈接之間的其他不兼容嗎? 有沒有調試着色器代碼的方法?