当我在仿真器上运行我的程序时,它会显示一个ImageView
初始屏幕,然后显示其余应用程序的其余部分的黑屏,该屏幕使用GLSurfaceViews
。 OGL在我的手机上运行良好。我已经在两台计算机上测试了这个程序(低性能和高性能),并且都没有显示GLSurfaceViews。我还使用Google apidemos interweb网站上的一些OGL演示测试了仿真器,并且这些演示不显示在任何一台计算机上。我的程序使用OGL es 1.1,但是我也测试过使用OGL es 1.0无济于事。我怎样才能在模拟器上显示ogl?谢谢。Android - OpenGL不显示w/emulator?
下面是一些简单的方形渲染代码不会在模拟器上
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);
}
我跑的链接程序,它显示红色的背景,这是很好的。所以我在一些平凡的代码中添加了一个正方形(上面贴出的),并且没有在模拟器上显示(在手机上工作)。现在做什么? – 2011-06-11 17:04:26
我认为你的示例代码缺少一些小的OpenGL调用。也许看看该教程的第二部分,看看是否可行:http://www.droidnova.com/android-3d-game-tutorial-part-ii,328.html – 2011-06-12 02:17:39
我缺少gl.glEnableClientState( GL10.GL_VERTEX_ARRAY);我的手机根本不在乎。这是解决的一个主要问题。非常感激。 – 2011-06-12 03:07:52