我使用 opengl ES 2.0 开发 opengl android 应用程序。我的应用程序崩溃并在日志中写入:
07-28 22:55:29.460 13407-13420/?
E/AndroidRuntime:致命异常:com.jayway.gles20.GLES20Renderer.draw_worlddate(GLES20Renderer.java:521) 的 com.jayway.gles20.GLES20Renderer.onDrawFrame(GLES20Renderer.java:503) 的 GLThread 1293 java.lang.NullPointerException .jayway.gles20.GLRenderer.onDrawFrame(GLRenderer.java:87) 在 android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516) 在 android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
此函数中的错误:
public void draw_worlddate(String wtype){
Map<String,float[][][]> wdw=worlddate.world;
float[][][] ww;
ww = wdw.get(wtype);
float[][] ww2;
float[] ww3;
for (int i=0;i<ww.length;i++){//this is line 521
ww2=ww[i];
Matrix.setIdentityM(mModelMatrix, 0);
for(Integer i2=0;i2<ww2.length;i2++){
ww3=ww2[i2];
switch (i2){
case 0:
Matrix.translateM(mModelMatrix,0,ww3[0],ww3[1],ww3[2]);
break;
case 1:
Matrix.rotateM(mModelMatrix,0,0.0f,ww3[0],ww3[1],ww3[2]);
break;
case 2:
Matrix.scaleM(mModelMatrix,0,ww3[0],ww3[1],ww3[2]);
break;
}
}
drawTriangle(mTriangle1Vertices);
}
}
Map中的解析数组:
{
{
{
1.0f,
1.0f,
1.0f
},
{
1.0f,
1.0f,
1.0f
},
{
1.0f,
1.0f,
1.0f
}
}
}
如何解决这个问题?