当我在模拟器上运行程序时,它会显示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);
}
答案 0 :(得分:2)
有一些可能性。首先,让我们看看是否应该有效的东西,可以在您的模拟器上运行。你能不能到这里试试本教程并通过你的模拟器运行它:http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html(先做这个)
这样我们就可以知道您的代码或模拟器是否存在问题。
之后,您可能需要查看是否存在所有required shared object libraries present。
请在评论中告诉我你的情况。