2011-06-06 42 views
2

当我在仿真器上运行我的程序时,它会显示一个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); 
} 

回答

2

那么有一些可能合作的例子。首先让我们看看是否应该起作用,在你的模拟器上工作。你可以请到这里试试这个教程,并通过你的模拟器运行它:http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html(先做这个)

这样我们就知道问题出在你的代码或模拟器上。

之后,您可能需要看看是否有所有required shared object libraries present

让我知道你的评论。

+0

我跑的链接程序,它显示红色的背景,这是很好的。所以我在一些平凡的代码中添加了一个正方形(上面贴出的),并且没有在模拟器上显示(在手机上工作)。现在做什么? – 2011-06-11 17:04:26

+0

我认为你的示例代码缺少一些小的OpenGL调用。也许看看该教程的第二部分,看看是否可行:http://www.droidnova.com/android-3d-game-tutorial-part-ii,328.html – 2011-06-12 02:17:39

+0

我缺少gl.glEnableClientState( GL10.GL_VERTEX_ARRAY);我的手机根本不在乎。这是解决的一个主要问题。非常感激。 – 2011-06-12 03:07:52