Android——OpenGL没有';不带模拟器显示?

Android——OpenGL没有';不带模拟器显示?,android,testing,emulation,Android,Testing,Emulation,当我在模拟器上运行我的程序时,它会显示一个ImageView初始屏幕,然后应用程序的其余部分会显示一个黑屏,该应用程序使用GLSurfaceViews。OGL在我的手机上运行良好。我已经在两台计算机(低性能和高性能)上测试了该程序,但都没有显示GLSurfaceViews。我还使用Google apidemos interweb站点上的一些OGL演示测试了模拟器,但两台计算机上都没有显示这些演示。我的程序使用OGL es 1.1,但是我也使用OGL es 1.0进行了测试,但没有结果。如何在模拟

当我在模拟器上运行我的程序时,它会显示一个
ImageView
初始屏幕,然后应用程序的其余部分会显示一个黑屏,该应用程序使用
GLSurfaceViews
。OGL在我的手机上运行良好。我已经在两台计算机(低性能和高性能)上测试了该程序,但都没有显示GLSurfaceViews。我还使用Google apidemos interweb站点上的一些OGL演示测试了模拟器,但两台计算机上都没有显示这些演示。我的程序使用OGL es 1.1,但是我也使用OGL es 1.0进行了测试,但没有结果。如何在模拟器上显示ogl?谢谢

下面是一些在模拟器上不起作用的简单方形渲染代码的示例


public void onDrawFrame(GL10 gl) {
  //This works
  gl.glClearColor(_red, _green, _blue, 1.0f);
  gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
  //This doesn't
  float vertices[] = { .5f, .5f, 0, .5f, -.5f, 0, -.5f, .5f, 0, -.5f, -.5f, 0 };
  FloatBuffer vertexSquareBuffer = ByteBuffer.allocateDirect(4 * 3 * 4)
    .order(ByteOrder.nativeOrder()).asFloatBuffer();
  vertexSquareBuffer.put(vertices);
  vertexSquareBuffer.position(0);
  gl.glColor4f(1, 1, 0, 0.5f);
  gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexSquareBuffer);
  gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0,4);
}

嗯,有一些可能性。首先,让我们看看应该可以工作的东西是否可以在模拟器上工作。你能到这里试试这个教程并通过你的模拟器运行它吗:(先做这一点)

这样我们就知道问题是出在代码还是模拟器上了

之后,您可能需要查看是否存在所有的问题


请在评论中告诉我您的进展。

我运行了链接程序,它显示了红色背景,这很好。因此,我添加了一些简单的代码来绘制一个正方形(发布在上面),而这个正方形没有在模拟器上呈现(在手机上工作)。现在该怎么办?我认为您的示例代码缺少一些小的OpenGL调用。也许可以看看该教程的第二部分,看看这是否也有效:我缺少gl.glEnableClientState(GL10.gl\u VERTEX\u数组);我的手机根本不在乎。这是一个已解决的重大问题。非常感谢。@农场鸵鸟:没问题。尽管将来您可能还需要检查手机/平板电脑是否也支持您正在使用的OpenGL扩展:以防您想要使用OpenGL的更多功能,并且您不确定这些功能是否受支持(否则您也会遇到其他错误)。